      module mo_lu_solve
      use chem_mods, only: veclen
      private
      public :: lu_slv
      contains
      subroutine lu_slv01( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,105) = b(k,105) - lu(k,22) * b(k,21)
         b(k,112) = b(k,112) - lu(k,23) * b(k,21)
         b(k,29) = b(k,29) - lu(k,25) * b(k,22)
         b(k,114) = b(k,114) - lu(k,26) * b(k,22)
         b(k,53) = b(k,53) - lu(k,28) * b(k,23)
         b(k,84) = b(k,84) - lu(k,29) * b(k,23)
         b(k,105) = b(k,105) - lu(k,31) * b(k,24)
         b(k,53) = b(k,53) - lu(k,33) * b(k,25)
         b(k,84) = b(k,84) - lu(k,34) * b(k,25)
         b(k,105) = b(k,105) - lu(k,35) * b(k,25)
         b(k,53) = b(k,53) - lu(k,37) * b(k,26)
         b(k,113) = b(k,113) - lu(k,38) * b(k,26)
         b(k,75) = b(k,75) - lu(k,40) * b(k,27)
         b(k,105) = b(k,105) - lu(k,41) * b(k,27)
         b(k,59) = b(k,59) - lu(k,43) * b(k,28)
         b(k,100) = b(k,100) - lu(k,44) * b(k,28)
         b(k,60) = b(k,60) - lu(k,47) * b(k,29)
         b(k,104) = b(k,104) - lu(k,48) * b(k,29)
         b(k,114) = b(k,114) - lu(k,49) * b(k,29)
         b(k,101) = b(k,101) - lu(k,51) * b(k,30)
         b(k,111) = b(k,111) - lu(k,52) * b(k,30)
         b(k,114) = b(k,114) - lu(k,53) * b(k,30)
         b(k,101) = b(k,101) - lu(k,55) * b(k,31)
         b(k,108) = b(k,108) - lu(k,56) * b(k,31)
         b(k,114) = b(k,114) - lu(k,57) * b(k,31)
         b(k,60) = b(k,60) - lu(k,59) * b(k,32)
         b(k,88) = b(k,88) - lu(k,60) * b(k,32)
         b(k,89) = b(k,89) - lu(k,61) * b(k,32)
         b(k,97) = b(k,97) - lu(k,62) * b(k,32)
         b(k,101) = b(k,101) - lu(k,63) * b(k,32)
         b(k,60) = b(k,60) - lu(k,65) * b(k,33)
         b(k,70) = b(k,70) - lu(k,66) * b(k,33)
         b(k,104) = b(k,104) - lu(k,67) * b(k,33)
         b(k,112) = b(k,112) - lu(k,68) * b(k,33)
         b(k,44) = b(k,44) - lu(k,70) * b(k,34)
         b(k,49) = b(k,49) - lu(k,71) * b(k,34)
         b(k,60) = b(k,60) - lu(k,72) * b(k,34)
         b(k,70) = b(k,70) - lu(k,73) * b(k,34)
         b(k,89) = b(k,89) - lu(k,74) * b(k,34)
         b(k,104) = b(k,104) - lu(k,75) * b(k,34)
         b(k,113) = b(k,113) - lu(k,76) * b(k,34)
         b(k,66) = b(k,66) - lu(k,78) * b(k,35)
         b(k,83) = b(k,83) - lu(k,79) * b(k,35)
         b(k,89) = b(k,89) - lu(k,80) * b(k,35)
         b(k,113) = b(k,113) - lu(k,81) * b(k,35)
         b(k,114) = b(k,114) - lu(k,82) * b(k,35)
         b(k,48) = b(k,48) - lu(k,84) * b(k,36)
         b(k,89) = b(k,89) - lu(k,85) * b(k,36)
         b(k,107) = b(k,107) - lu(k,86) * b(k,36)
         b(k,113) = b(k,113) - lu(k,87) * b(k,36)
         b(k,114) = b(k,114) - lu(k,88) * b(k,36)
         b(k,50) = b(k,50) - lu(k,90) * b(k,37)
         b(k,95) = b(k,95) - lu(k,91) * b(k,37)
         b(k,106) = b(k,106) - lu(k,92) * b(k,37)
         b(k,107) = b(k,107) - lu(k,93) * b(k,37)
         b(k,114) = b(k,114) - lu(k,94) * b(k,37)
         b(k,74) = b(k,74) - lu(k,96) * b(k,38)
         b(k,85) = b(k,85) - lu(k,97) * b(k,38)
         b(k,100) = b(k,100) - lu(k,98) * b(k,38)
         b(k,102) = b(k,102) - lu(k,99) * b(k,38)
         b(k,104) = b(k,104) - lu(k,100) * b(k,38)
         b(k,88) = b(k,88) - lu(k,102) * b(k,39)
         b(k,89) = b(k,89) - lu(k,103) * b(k,39)
         b(k,94) = b(k,94) - lu(k,104) * b(k,39)
         b(k,97) = b(k,97) - lu(k,105) * b(k,39)
         b(k,100) = b(k,100) - lu(k,106) * b(k,39)
         b(k,114) = b(k,114) - lu(k,107) * b(k,39)
         b(k,41) = b(k,41) - lu(k,109) * b(k,40)
         b(k,92) = b(k,92) - lu(k,110) * b(k,40)
         b(k,96) = b(k,96) - lu(k,111) * b(k,40)
         b(k,106) = b(k,106) - lu(k,112) * b(k,40)
         b(k,107) = b(k,107) - lu(k,113) * b(k,40)
         b(k,114) = b(k,114) - lu(k,114) * b(k,40)
         b(k,92) = b(k,92) - lu(k,116) * b(k,41)
         b(k,96) = b(k,96) - lu(k,117) * b(k,41)
         b(k,106) = b(k,106) - lu(k,118) * b(k,41)
         b(k,107) = b(k,107) - lu(k,119) * b(k,41)
         b(k,114) = b(k,114) - lu(k,120) * b(k,41)
         b(k,43) = b(k,43) - lu(k,122) * b(k,42)
         b(k,47) = b(k,47) - lu(k,123) * b(k,42)
         b(k,56) = b(k,56) - lu(k,124) * b(k,42)
         b(k,61) = b(k,61) - lu(k,125) * b(k,42)
         b(k,104) = b(k,104) - lu(k,126) * b(k,42)
         b(k,106) = b(k,106) - lu(k,127) * b(k,42)
         b(k,47) = b(k,47) - lu(k,129) * b(k,43)
         b(k,61) = b(k,61) - lu(k,130) * b(k,43)
         b(k,100) = b(k,100) - lu(k,131) * b(k,43)
         b(k,103) = b(k,103) - lu(k,132) * b(k,43)
         b(k,104) = b(k,104) - lu(k,133) * b(k,43)
         b(k,88) = b(k,88) - lu(k,135) * b(k,44)
         b(k,89) = b(k,89) - lu(k,136) * b(k,44)
         b(k,113) = b(k,113) - lu(k,137) * b(k,44)
         b(k,54) = b(k,54) - lu(k,139) * b(k,45)
         b(k,75) = b(k,75) - lu(k,140) * b(k,45)
         b(k,82) = b(k,82) - lu(k,141) * b(k,45)
         b(k,94) = b(k,94) - lu(k,142) * b(k,45)
         b(k,97) = b(k,97) - lu(k,143) * b(k,45)
         b(k,101) = b(k,101) - lu(k,144) * b(k,45)
         b(k,104) = b(k,104) - lu(k,145) * b(k,45)
         b(k,88) = b(k,88) - lu(k,147) * b(k,46)
         b(k,89) = b(k,89) - lu(k,148) * b(k,46)
         b(k,98) = b(k,98) - lu(k,149) * b(k,46)
         b(k,104) = b(k,104) - lu(k,150) * b(k,46)
         b(k,105) = b(k,105) - lu(k,151) * b(k,46)
         b(k,114) = b(k,114) - lu(k,152) * b(k,46)
         b(k,55) = b(k,55) - lu(k,154) * b(k,47)
         b(k,61) = b(k,61) - lu(k,155) * b(k,47)
         b(k,65) = b(k,65) - lu(k,156) * b(k,47)
         b(k,92) = b(k,92) - lu(k,157) * b(k,47)
         b(k,100) = b(k,100) - lu(k,158) * b(k,47)
         b(k,103) = b(k,103) - lu(k,159) * b(k,47)
         b(k,104) = b(k,104) - lu(k,160) * b(k,47)
         b(k,107) = b(k,107) - lu(k,161) * b(k,47)
         b(k,51) = b(k,51) - lu(k,163) * b(k,48)
         b(k,95) = b(k,95) - lu(k,164) * b(k,48)
         b(k,107) = b(k,107) - lu(k,165) * b(k,48)
         b(k,113) = b(k,113) - lu(k,166) * b(k,48)
         b(k,114) = b(k,114) - lu(k,167) * b(k,48)
         b(k,70) = b(k,70) - lu(k,169) * b(k,49)
         b(k,89) = b(k,89) - lu(k,170) * b(k,49)
         b(k,99) = b(k,99) - lu(k,171) * b(k,49)
         b(k,100) = b(k,100) - lu(k,172) * b(k,49)
         b(k,104) = b(k,104) - lu(k,173) * b(k,49)
         b(k,113) = b(k,113) - lu(k,174) * b(k,49)
         b(k,89) = b(k,89) - lu(k,176) * b(k,50)
         b(k,94) = b(k,94) - lu(k,177) * b(k,50)
         b(k,106) = b(k,106) - lu(k,178) * b(k,50)
         b(k,114) = b(k,114) - lu(k,179) * b(k,50)
         b(k,95) = b(k,95) - lu(k,182) * b(k,51)
         b(k,107) = b(k,107) - lu(k,183) * b(k,51)
         b(k,113) = b(k,113) - lu(k,184) * b(k,51)
         b(k,114) = b(k,114) - lu(k,185) * b(k,51)
         b(k,89) = b(k,89) - lu(k,190) * b(k,52)
         b(k,95) = b(k,95) - lu(k,191) * b(k,52)
         b(k,100) = b(k,100) - lu(k,192) * b(k,52)
         b(k,103) = b(k,103) - lu(k,193) * b(k,52)
         b(k,107) = b(k,107) - lu(k,194) * b(k,52)
         b(k,113) = b(k,113) - lu(k,195) * b(k,52)
         b(k,114) = b(k,114) - lu(k,196) * b(k,52)
         b(k,66) = b(k,66) - lu(k,199) * b(k,53)
         b(k,77) = b(k,77) - lu(k,200) * b(k,53)
         b(k,89) = b(k,89) - lu(k,201) * b(k,53)
         b(k,97) = b(k,97) - lu(k,202) * b(k,53)
         b(k,101) = b(k,101) - lu(k,203) * b(k,53)
         b(k,113) = b(k,113) - lu(k,204) * b(k,53)
         b(k,114) = b(k,114) - lu(k,205) * b(k,53)
         b(k,75) = b(k,75) - lu(k,208) * b(k,54)
         b(k,82) = b(k,82) - lu(k,209) * b(k,54)
         b(k,89) = b(k,89) - lu(k,210) * b(k,54)
         b(k,98) = b(k,98) - lu(k,211) * b(k,54)
         b(k,104) = b(k,104) - lu(k,212) * b(k,54)
         b(k,105) = b(k,105) - lu(k,213) * b(k,54)
         b(k,114) = b(k,114) - lu(k,214) * b(k,54)
         b(k,56) = b(k,56) - lu(k,216) * b(k,55)
         b(k,61) = b(k,61) - lu(k,217) * b(k,55)
         b(k,65) = b(k,65) - lu(k,218) * b(k,55)
         b(k,84) = b(k,84) - lu(k,219) * b(k,55)
         b(k,100) = b(k,100) - lu(k,220) * b(k,55)
         b(k,104) = b(k,104) - lu(k,221) * b(k,55)
         b(k,106) = b(k,106) - lu(k,222) * b(k,55)
         b(k,61) = b(k,61) - lu(k,224) * b(k,56)
         b(k,65) = b(k,65) - lu(k,225) * b(k,56)
         b(k,92) = b(k,92) - lu(k,226) * b(k,56)
         b(k,100) = b(k,100) - lu(k,227) * b(k,56)
         b(k,103) = b(k,103) - lu(k,228) * b(k,56)
         b(k,104) = b(k,104) - lu(k,229) * b(k,56)
         b(k,89) = b(k,89) - lu(k,232) * b(k,57)
         b(k,98) = b(k,98) - lu(k,233) * b(k,57)
         b(k,104) = b(k,104) - lu(k,234) * b(k,57)
         b(k,105) = b(k,105) - lu(k,235) * b(k,57)
         b(k,112) = b(k,112) - lu(k,236) * b(k,57)
         b(k,114) = b(k,114) - lu(k,237) * b(k,57)
         b(k,75) = b(k,75) - lu(k,239) * b(k,58)
         b(k,82) = b(k,82) - lu(k,240) * b(k,58)
         b(k,84) = b(k,84) - lu(k,241) * b(k,58)
         b(k,89) = b(k,89) - lu(k,242) * b(k,58)
         b(k,104) = b(k,104) - lu(k,243) * b(k,58)
         b(k,113) = b(k,113) - lu(k,244) * b(k,58)
         b(k,114) = b(k,114) - lu(k,245) * b(k,58)
         b(k,68) = b(k,68) - lu(k,247) * b(k,59)
         b(k,99) = b(k,99) - lu(k,248) * b(k,59)
         b(k,100) = b(k,100) - lu(k,249) * b(k,59)
         b(k,102) = b(k,102) - lu(k,250) * b(k,59)
         b(k,103) = b(k,103) - lu(k,251) * b(k,59)
         b(k,107) = b(k,107) - lu(k,252) * b(k,59)
         b(k,110) = b(k,110) - lu(k,253) * b(k,59)
         b(k,70) = b(k,70) - lu(k,256) * b(k,60)
         b(k,88) = b(k,88) - lu(k,257) * b(k,60)
         b(k,89) = b(k,89) - lu(k,258) * b(k,60)
         b(k,104) = b(k,104) - lu(k,259) * b(k,60)
         b(k,114) = b(k,114) - lu(k,260) * b(k,60)
         b(k,65) = b(k,65) - lu(k,265) * b(k,61)
         b(k,84) = b(k,84) - lu(k,266) * b(k,61)
         b(k,88) = b(k,88) - lu(k,267) * b(k,61)
         b(k,89) = b(k,89) - lu(k,268) * b(k,61)
         b(k,92) = b(k,92) - lu(k,269) * b(k,61)
         b(k,100) = b(k,100) - lu(k,270) * b(k,61)
         b(k,103) = b(k,103) - lu(k,271) * b(k,61)
         b(k,104) = b(k,104) - lu(k,272) * b(k,61)
         b(k,106) = b(k,106) - lu(k,273) * b(k,61)
         b(k,113) = b(k,113) - lu(k,274) * b(k,61)
      end do
      end subroutine lu_slv01
      subroutine lu_slv02( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,89) = b(k,89) - lu(k,278) * b(k,62)
         b(k,94) = b(k,94) - lu(k,279) * b(k,62)
         b(k,97) = b(k,97) - lu(k,280) * b(k,62)
         b(k,98) = b(k,98) - lu(k,281) * b(k,62)
         b(k,101) = b(k,101) - lu(k,282) * b(k,62)
         b(k,104) = b(k,104) - lu(k,283) * b(k,62)
         b(k,105) = b(k,105) - lu(k,284) * b(k,62)
         b(k,112) = b(k,112) - lu(k,285) * b(k,62)
         b(k,114) = b(k,114) - lu(k,286) * b(k,62)
         b(k,86) = b(k,86) - lu(k,288) * b(k,63)
         b(k,91) = b(k,91) - lu(k,289) * b(k,63)
         b(k,94) = b(k,94) - lu(k,290) * b(k,63)
         b(k,100) = b(k,100) - lu(k,291) * b(k,63)
         b(k,104) = b(k,104) - lu(k,292) * b(k,63)
         b(k,105) = b(k,105) - lu(k,293) * b(k,63)
         b(k,106) = b(k,106) - lu(k,294) * b(k,63)
         b(k,78) = b(k,78) - lu(k,298) * b(k,64)
         b(k,79) = b(k,79) - lu(k,299) * b(k,64)
         b(k,81) = b(k,81) - lu(k,300) * b(k,64)
         b(k,94) = b(k,94) - lu(k,301) * b(k,64)
         b(k,97) = b(k,97) - lu(k,302) * b(k,64)
         b(k,101) = b(k,101) - lu(k,303) * b(k,64)
         b(k,104) = b(k,104) - lu(k,304) * b(k,64)
         b(k,106) = b(k,106) - lu(k,305) * b(k,64)
         b(k,108) = b(k,108) - lu(k,306) * b(k,64)
         b(k,111) = b(k,111) - lu(k,307) * b(k,64)
         b(k,114) = b(k,114) - lu(k,308) * b(k,64)
         b(k,84) = b(k,84) - lu(k,312) * b(k,65)
         b(k,88) = b(k,88) - lu(k,313) * b(k,65)
         b(k,89) = b(k,89) - lu(k,314) * b(k,65)
         b(k,92) = b(k,92) - lu(k,315) * b(k,65)
         b(k,94) = b(k,94) - lu(k,316) * b(k,65)
         b(k,100) = b(k,100) - lu(k,317) * b(k,65)
         b(k,103) = b(k,103) - lu(k,318) * b(k,65)
         b(k,104) = b(k,104) - lu(k,319) * b(k,65)
         b(k,106) = b(k,106) - lu(k,320) * b(k,65)
         b(k,107) = b(k,107) - lu(k,321) * b(k,65)
         b(k,113) = b(k,113) - lu(k,322) * b(k,65)
         b(k,83) = b(k,83) - lu(k,325) * b(k,66)
         b(k,88) = b(k,88) - lu(k,326) * b(k,66)
         b(k,89) = b(k,89) - lu(k,327) * b(k,66)
         b(k,94) = b(k,94) - lu(k,328) * b(k,66)
         b(k,100) = b(k,100) - lu(k,329) * b(k,66)
         b(k,105) = b(k,105) - lu(k,330) * b(k,66)
         b(k,106) = b(k,106) - lu(k,331) * b(k,66)
         b(k,112) = b(k,112) - lu(k,332) * b(k,66)
         b(k,113) = b(k,113) - lu(k,333) * b(k,66)
         b(k,114) = b(k,114) - lu(k,334) * b(k,66)
         b(k,89) = b(k,89) - lu(k,336) * b(k,67)
         b(k,92) = b(k,92) - lu(k,337) * b(k,67)
         b(k,93) = b(k,93) - lu(k,338) * b(k,67)
         b(k,95) = b(k,95) - lu(k,339) * b(k,67)
         b(k,96) = b(k,96) - lu(k,340) * b(k,67)
         b(k,100) = b(k,100) - lu(k,341) * b(k,67)
         b(k,103) = b(k,103) - lu(k,342) * b(k,67)
         b(k,106) = b(k,106) - lu(k,343) * b(k,67)
         b(k,108) = b(k,108) - lu(k,344) * b(k,67)
         b(k,111) = b(k,111) - lu(k,345) * b(k,67)
         b(k,113) = b(k,113) - lu(k,346) * b(k,67)
         b(k,114) = b(k,114) - lu(k,347) * b(k,67)
         b(k,89) = b(k,89) - lu(k,351) * b(k,68)
         b(k,95) = b(k,95) - lu(k,352) * b(k,68)
         b(k,99) = b(k,99) - lu(k,353) * b(k,68)
         b(k,100) = b(k,100) - lu(k,354) * b(k,68)
         b(k,102) = b(k,102) - lu(k,355) * b(k,68)
         b(k,103) = b(k,103) - lu(k,356) * b(k,68)
         b(k,104) = b(k,104) - lu(k,357) * b(k,68)
         b(k,107) = b(k,107) - lu(k,358) * b(k,68)
         b(k,110) = b(k,110) - lu(k,359) * b(k,68)
         b(k,113) = b(k,113) - lu(k,360) * b(k,68)
         b(k,114) = b(k,114) - lu(k,361) * b(k,68)
         b(k,80) = b(k,80) - lu(k,363) * b(k,69)
         b(k,92) = b(k,92) - lu(k,364) * b(k,69)
         b(k,93) = b(k,93) - lu(k,365) * b(k,69)
         b(k,95) = b(k,95) - lu(k,366) * b(k,69)
         b(k,96) = b(k,96) - lu(k,367) * b(k,69)
         b(k,100) = b(k,100) - lu(k,368) * b(k,69)
         b(k,103) = b(k,103) - lu(k,369) * b(k,69)
         b(k,104) = b(k,104) - lu(k,370) * b(k,69)
         b(k,106) = b(k,106) - lu(k,371) * b(k,69)
         b(k,108) = b(k,108) - lu(k,372) * b(k,69)
         b(k,111) = b(k,111) - lu(k,373) * b(k,69)
         b(k,113) = b(k,113) - lu(k,374) * b(k,69)
         b(k,114) = b(k,114) - lu(k,375) * b(k,69)
         b(k,75) = b(k,75) - lu(k,380) * b(k,70)
         b(k,82) = b(k,82) - lu(k,381) * b(k,70)
         b(k,88) = b(k,88) - lu(k,382) * b(k,70)
         b(k,89) = b(k,89) - lu(k,383) * b(k,70)
         b(k,94) = b(k,94) - lu(k,384) * b(k,70)
         b(k,99) = b(k,99) - lu(k,385) * b(k,70)
         b(k,100) = b(k,100) - lu(k,386) * b(k,70)
         b(k,104) = b(k,104) - lu(k,387) * b(k,70)
         b(k,105) = b(k,105) - lu(k,388) * b(k,70)
         b(k,106) = b(k,106) - lu(k,389) * b(k,70)
         b(k,112) = b(k,112) - lu(k,390) * b(k,70)
         b(k,113) = b(k,113) - lu(k,391) * b(k,70)
         b(k,114) = b(k,114) - lu(k,392) * b(k,70)
         b(k,86) = b(k,86) - lu(k,394) * b(k,71)
         b(k,92) = b(k,92) - lu(k,395) * b(k,71)
         b(k,93) = b(k,93) - lu(k,396) * b(k,71)
         b(k,95) = b(k,95) - lu(k,397) * b(k,71)
         b(k,96) = b(k,96) - lu(k,398) * b(k,71)
         b(k,98) = b(k,98) - lu(k,399) * b(k,71)
         b(k,100) = b(k,100) - lu(k,400) * b(k,71)
         b(k,103) = b(k,103) - lu(k,401) * b(k,71)
         b(k,105) = b(k,105) - lu(k,402) * b(k,71)
         b(k,106) = b(k,106) - lu(k,403) * b(k,71)
         b(k,108) = b(k,108) - lu(k,404) * b(k,71)
         b(k,111) = b(k,111) - lu(k,405) * b(k,71)
         b(k,113) = b(k,113) - lu(k,406) * b(k,71)
         b(k,114) = b(k,114) - lu(k,407) * b(k,71)
         b(k,86) = b(k,86) - lu(k,410) * b(k,72)
         b(k,92) = b(k,92) - lu(k,411) * b(k,72)
         b(k,93) = b(k,93) - lu(k,412) * b(k,72)
         b(k,95) = b(k,95) - lu(k,413) * b(k,72)
         b(k,96) = b(k,96) - lu(k,414) * b(k,72)
         b(k,98) = b(k,98) - lu(k,415) * b(k,72)
         b(k,100) = b(k,100) - lu(k,416) * b(k,72)
         b(k,103) = b(k,103) - lu(k,417) * b(k,72)
         b(k,105) = b(k,105) - lu(k,418) * b(k,72)
         b(k,106) = b(k,106) - lu(k,419) * b(k,72)
         b(k,108) = b(k,108) - lu(k,420) * b(k,72)
         b(k,111) = b(k,111) - lu(k,421) * b(k,72)
         b(k,113) = b(k,113) - lu(k,422) * b(k,72)
         b(k,114) = b(k,114) - lu(k,423) * b(k,72)
         b(k,91) = b(k,91) - lu(k,425) * b(k,73)
         b(k,92) = b(k,92) - lu(k,426) * b(k,73)
         b(k,93) = b(k,93) - lu(k,427) * b(k,73)
         b(k,94) = b(k,94) - lu(k,428) * b(k,73)
         b(k,95) = b(k,95) - lu(k,429) * b(k,73)
         b(k,96) = b(k,96) - lu(k,430) * b(k,73)
         b(k,100) = b(k,100) - lu(k,431) * b(k,73)
         b(k,103) = b(k,103) - lu(k,432) * b(k,73)
         b(k,106) = b(k,106) - lu(k,433) * b(k,73)
         b(k,108) = b(k,108) - lu(k,434) * b(k,73)
         b(k,111) = b(k,111) - lu(k,435) * b(k,73)
         b(k,113) = b(k,113) - lu(k,436) * b(k,73)
         b(k,114) = b(k,114) - lu(k,437) * b(k,73)
         b(k,87) = b(k,87) - lu(k,439) * b(k,74)
         b(k,90) = b(k,90) - lu(k,440) * b(k,74)
         b(k,91) = b(k,91) - lu(k,441) * b(k,74)
         b(k,94) = b(k,94) - lu(k,442) * b(k,74)
         b(k,99) = b(k,99) - lu(k,443) * b(k,74)
         b(k,100) = b(k,100) - lu(k,444) * b(k,74)
         b(k,102) = b(k,102) - lu(k,445) * b(k,74)
         b(k,104) = b(k,104) - lu(k,446) * b(k,74)
         b(k,106) = b(k,106) - lu(k,447) * b(k,74)
         b(k,107) = b(k,107) - lu(k,448) * b(k,74)
         b(k,109) = b(k,109) - lu(k,449) * b(k,74)
         b(k,110) = b(k,110) - lu(k,450) * b(k,74)
         b(k,113) = b(k,113) - lu(k,451) * b(k,74)
         b(k,82) = b(k,82) - lu(k,455) * b(k,75)
         b(k,83) = b(k,83) - lu(k,456) * b(k,75)
         b(k,84) = b(k,84) - lu(k,457) * b(k,75)
         b(k,88) = b(k,88) - lu(k,458) * b(k,75)
         b(k,89) = b(k,89) - lu(k,459) * b(k,75)
         b(k,99) = b(k,99) - lu(k,460) * b(k,75)
         b(k,100) = b(k,100) - lu(k,461) * b(k,75)
         b(k,104) = b(k,104) - lu(k,462) * b(k,75)
         b(k,113) = b(k,113) - lu(k,463) * b(k,75)
         b(k,114) = b(k,114) - lu(k,464) * b(k,75)
         b(k,78) = b(k,78) - lu(k,466) * b(k,76)
         b(k,92) = b(k,92) - lu(k,467) * b(k,76)
         b(k,93) = b(k,93) - lu(k,468) * b(k,76)
         b(k,95) = b(k,95) - lu(k,469) * b(k,76)
         b(k,96) = b(k,96) - lu(k,470) * b(k,76)
         b(k,97) = b(k,97) - lu(k,471) * b(k,76)
         b(k,98) = b(k,98) - lu(k,472) * b(k,76)
         b(k,100) = b(k,100) - lu(k,473) * b(k,76)
         b(k,101) = b(k,101) - lu(k,474) * b(k,76)
         b(k,103) = b(k,103) - lu(k,475) * b(k,76)
         b(k,106) = b(k,106) - lu(k,476) * b(k,76)
         b(k,108) = b(k,108) - lu(k,477) * b(k,76)
         b(k,111) = b(k,111) - lu(k,478) * b(k,76)
         b(k,113) = b(k,113) - lu(k,479) * b(k,76)
         b(k,114) = b(k,114) - lu(k,480) * b(k,76)
         b(k,83) = b(k,83) - lu(k,485) * b(k,77)
         b(k,84) = b(k,84) - lu(k,486) * b(k,77)
         b(k,88) = b(k,88) - lu(k,487) * b(k,77)
         b(k,89) = b(k,89) - lu(k,488) * b(k,77)
         b(k,94) = b(k,94) - lu(k,489) * b(k,77)
         b(k,97) = b(k,97) - lu(k,490) * b(k,77)
         b(k,98) = b(k,98) - lu(k,491) * b(k,77)
         b(k,100) = b(k,100) - lu(k,492) * b(k,77)
         b(k,101) = b(k,101) - lu(k,493) * b(k,77)
         b(k,104) = b(k,104) - lu(k,494) * b(k,77)
         b(k,105) = b(k,105) - lu(k,495) * b(k,77)
         b(k,106) = b(k,106) - lu(k,496) * b(k,77)
         b(k,107) = b(k,107) - lu(k,497) * b(k,77)
         b(k,109) = b(k,109) - lu(k,498) * b(k,77)
         b(k,110) = b(k,110) - lu(k,499) * b(k,77)
         b(k,112) = b(k,112) - lu(k,500) * b(k,77)
         b(k,113) = b(k,113) - lu(k,501) * b(k,77)
         b(k,114) = b(k,114) - lu(k,502) * b(k,77)
         b(k,87) = b(k,87) - lu(k,504) * b(k,78)
         b(k,92) = b(k,92) - lu(k,505) * b(k,78)
         b(k,93) = b(k,93) - lu(k,506) * b(k,78)
         b(k,95) = b(k,95) - lu(k,507) * b(k,78)
         b(k,96) = b(k,96) - lu(k,508) * b(k,78)
         b(k,97) = b(k,97) - lu(k,509) * b(k,78)
         b(k,100) = b(k,100) - lu(k,510) * b(k,78)
         b(k,101) = b(k,101) - lu(k,511) * b(k,78)
         b(k,103) = b(k,103) - lu(k,512) * b(k,78)
         b(k,106) = b(k,106) - lu(k,513) * b(k,78)
         b(k,108) = b(k,108) - lu(k,514) * b(k,78)
         b(k,111) = b(k,111) - lu(k,515) * b(k,78)
         b(k,114) = b(k,114) - lu(k,516) * b(k,78)
      end do
      end subroutine lu_slv02
      subroutine lu_slv03( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,81) = b(k,81) - lu(k,520) * b(k,79)
         b(k,87) = b(k,87) - lu(k,521) * b(k,79)
         b(k,92) = b(k,92) - lu(k,522) * b(k,79)
         b(k,93) = b(k,93) - lu(k,523) * b(k,79)
         b(k,94) = b(k,94) - lu(k,524) * b(k,79)
         b(k,95) = b(k,95) - lu(k,525) * b(k,79)
         b(k,96) = b(k,96) - lu(k,526) * b(k,79)
         b(k,97) = b(k,97) - lu(k,527) * b(k,79)
         b(k,100) = b(k,100) - lu(k,528) * b(k,79)
         b(k,101) = b(k,101) - lu(k,529) * b(k,79)
         b(k,103) = b(k,103) - lu(k,530) * b(k,79)
         b(k,104) = b(k,104) - lu(k,531) * b(k,79)
         b(k,106) = b(k,106) - lu(k,532) * b(k,79)
         b(k,108) = b(k,108) - lu(k,533) * b(k,79)
         b(k,111) = b(k,111) - lu(k,534) * b(k,79)
         b(k,113) = b(k,113) - lu(k,535) * b(k,79)
         b(k,114) = b(k,114) - lu(k,536) * b(k,79)
         b(k,81) = b(k,81) - lu(k,540) * b(k,80)
         b(k,87) = b(k,87) - lu(k,541) * b(k,80)
         b(k,90) = b(k,90) - lu(k,542) * b(k,80)
         b(k,91) = b(k,91) - lu(k,543) * b(k,80)
         b(k,92) = b(k,92) - lu(k,544) * b(k,80)
         b(k,93) = b(k,93) - lu(k,545) * b(k,80)
         b(k,94) = b(k,94) - lu(k,546) * b(k,80)
         b(k,95) = b(k,95) - lu(k,547) * b(k,80)
         b(k,96) = b(k,96) - lu(k,548) * b(k,80)
         b(k,100) = b(k,100) - lu(k,549) * b(k,80)
         b(k,103) = b(k,103) - lu(k,550) * b(k,80)
         b(k,104) = b(k,104) - lu(k,551) * b(k,80)
         b(k,106) = b(k,106) - lu(k,552) * b(k,80)
         b(k,108) = b(k,108) - lu(k,553) * b(k,80)
         b(k,111) = b(k,111) - lu(k,554) * b(k,80)
         b(k,113) = b(k,113) - lu(k,555) * b(k,80)
         b(k,114) = b(k,114) - lu(k,556) * b(k,80)
         b(k,87) = b(k,87) - lu(k,561) * b(k,81)
         b(k,92) = b(k,92) - lu(k,562) * b(k,81)
         b(k,93) = b(k,93) - lu(k,563) * b(k,81)
         b(k,94) = b(k,94) - lu(k,564) * b(k,81)
         b(k,95) = b(k,95) - lu(k,565) * b(k,81)
         b(k,96) = b(k,96) - lu(k,566) * b(k,81)
         b(k,97) = b(k,97) - lu(k,567) * b(k,81)
         b(k,100) = b(k,100) - lu(k,568) * b(k,81)
         b(k,101) = b(k,101) - lu(k,569) * b(k,81)
         b(k,103) = b(k,103) - lu(k,570) * b(k,81)
         b(k,104) = b(k,104) - lu(k,571) * b(k,81)
         b(k,106) = b(k,106) - lu(k,572) * b(k,81)
         b(k,108) = b(k,108) - lu(k,573) * b(k,81)
         b(k,111) = b(k,111) - lu(k,574) * b(k,81)
         b(k,113) = b(k,113) - lu(k,575) * b(k,81)
         b(k,114) = b(k,114) - lu(k,576) * b(k,81)
         b(k,83) = b(k,83) - lu(k,585) * b(k,82)
         b(k,84) = b(k,84) - lu(k,586) * b(k,82)
         b(k,88) = b(k,88) - lu(k,587) * b(k,82)
         b(k,89) = b(k,89) - lu(k,588) * b(k,82)
         b(k,94) = b(k,94) - lu(k,589) * b(k,82)
         b(k,97) = b(k,97) - lu(k,590) * b(k,82)
         b(k,98) = b(k,98) - lu(k,591) * b(k,82)
         b(k,99) = b(k,99) - lu(k,592) * b(k,82)
         b(k,100) = b(k,100) - lu(k,593) * b(k,82)
         b(k,101) = b(k,101) - lu(k,594) * b(k,82)
         b(k,104) = b(k,104) - lu(k,595) * b(k,82)
         b(k,105) = b(k,105) - lu(k,596) * b(k,82)
         b(k,106) = b(k,106) - lu(k,597) * b(k,82)
         b(k,112) = b(k,112) - lu(k,598) * b(k,82)
         b(k,113) = b(k,113) - lu(k,599) * b(k,82)
         b(k,114) = b(k,114) - lu(k,600) * b(k,82)
         b(k,84) = b(k,84) - lu(k,607) * b(k,83)
         b(k,88) = b(k,88) - lu(k,608) * b(k,83)
         b(k,89) = b(k,89) - lu(k,609) * b(k,83)
         b(k,94) = b(k,94) - lu(k,610) * b(k,83)
         b(k,97) = b(k,97) - lu(k,611) * b(k,83)
         b(k,98) = b(k,98) - lu(k,612) * b(k,83)
         b(k,99) = b(k,99) - lu(k,613) * b(k,83)
         b(k,100) = b(k,100) - lu(k,614) * b(k,83)
         b(k,101) = b(k,101) - lu(k,615) * b(k,83)
         b(k,104) = b(k,104) - lu(k,616) * b(k,83)
         b(k,105) = b(k,105) - lu(k,617) * b(k,83)
         b(k,106) = b(k,106) - lu(k,618) * b(k,83)
         b(k,107) = b(k,107) - lu(k,619) * b(k,83)
         b(k,109) = b(k,109) - lu(k,620) * b(k,83)
         b(k,110) = b(k,110) - lu(k,621) * b(k,83)
         b(k,112) = b(k,112) - lu(k,622) * b(k,83)
         b(k,113) = b(k,113) - lu(k,623) * b(k,83)
         b(k,114) = b(k,114) - lu(k,624) * b(k,83)
         b(k,88) = b(k,88) - lu(k,638) * b(k,84)
         b(k,89) = b(k,89) - lu(k,639) * b(k,84)
         b(k,94) = b(k,94) - lu(k,640) * b(k,84)
         b(k,95) = b(k,95) - lu(k,641) * b(k,84)
         b(k,97) = b(k,97) - lu(k,642) * b(k,84)
         b(k,98) = b(k,98) - lu(k,643) * b(k,84)
         b(k,99) = b(k,99) - lu(k,644) * b(k,84)
         b(k,100) = b(k,100) - lu(k,645) * b(k,84)
         b(k,101) = b(k,101) - lu(k,646) * b(k,84)
         b(k,102) = b(k,102) - lu(k,647) * b(k,84)
         b(k,103) = b(k,103) - lu(k,648) * b(k,84)
         b(k,104) = b(k,104) - lu(k,649) * b(k,84)
         b(k,105) = b(k,105) - lu(k,650) * b(k,84)
         b(k,106) = b(k,106) - lu(k,651) * b(k,84)
         b(k,107) = b(k,107) - lu(k,652) * b(k,84)
         b(k,109) = b(k,109) - lu(k,653) * b(k,84)
         b(k,110) = b(k,110) - lu(k,654) * b(k,84)
         b(k,112) = b(k,112) - lu(k,655) * b(k,84)
         b(k,113) = b(k,113) - lu(k,656) * b(k,84)
         b(k,114) = b(k,114) - lu(k,657) * b(k,84)
         b(k,86) = b(k,86) - lu(k,661) * b(k,85)
         b(k,87) = b(k,87) - lu(k,662) * b(k,85)
         b(k,88) = b(k,88) - lu(k,663) * b(k,85)
         b(k,89) = b(k,89) - lu(k,664) * b(k,85)
         b(k,90) = b(k,90) - lu(k,665) * b(k,85)
         b(k,91) = b(k,91) - lu(k,666) * b(k,85)
         b(k,92) = b(k,92) - lu(k,667) * b(k,85)
         b(k,93) = b(k,93) - lu(k,668) * b(k,85)
         b(k,94) = b(k,94) - lu(k,669) * b(k,85)
         b(k,95) = b(k,95) - lu(k,670) * b(k,85)
         b(k,96) = b(k,96) - lu(k,671) * b(k,85)
         b(k,98) = b(k,98) - lu(k,672) * b(k,85)
         b(k,99) = b(k,99) - lu(k,673) * b(k,85)
         b(k,100) = b(k,100) - lu(k,674) * b(k,85)
         b(k,102) = b(k,102) - lu(k,675) * b(k,85)
         b(k,103) = b(k,103) - lu(k,676) * b(k,85)
         b(k,104) = b(k,104) - lu(k,677) * b(k,85)
         b(k,105) = b(k,105) - lu(k,678) * b(k,85)
         b(k,106) = b(k,106) - lu(k,679) * b(k,85)
         b(k,107) = b(k,107) - lu(k,680) * b(k,85)
         b(k,108) = b(k,108) - lu(k,681) * b(k,85)
         b(k,109) = b(k,109) - lu(k,682) * b(k,85)
         b(k,110) = b(k,110) - lu(k,683) * b(k,85)
         b(k,111) = b(k,111) - lu(k,684) * b(k,85)
         b(k,112) = b(k,112) - lu(k,685) * b(k,85)
         b(k,113) = b(k,113) - lu(k,686) * b(k,85)
         b(k,114) = b(k,114) - lu(k,687) * b(k,85)
         b(k,87) = b(k,87) - lu(k,691) * b(k,86)
         b(k,91) = b(k,91) - lu(k,692) * b(k,86)
         b(k,92) = b(k,92) - lu(k,693) * b(k,86)
         b(k,93) = b(k,93) - lu(k,694) * b(k,86)
         b(k,94) = b(k,94) - lu(k,695) * b(k,86)
         b(k,95) = b(k,95) - lu(k,696) * b(k,86)
         b(k,96) = b(k,96) - lu(k,697) * b(k,86)
         b(k,98) = b(k,98) - lu(k,698) * b(k,86)
         b(k,100) = b(k,100) - lu(k,699) * b(k,86)
         b(k,101) = b(k,101) - lu(k,700) * b(k,86)
         b(k,103) = b(k,103) - lu(k,701) * b(k,86)
         b(k,105) = b(k,105) - lu(k,702) * b(k,86)
         b(k,106) = b(k,106) - lu(k,703) * b(k,86)
         b(k,107) = b(k,107) - lu(k,704) * b(k,86)
         b(k,108) = b(k,108) - lu(k,705) * b(k,86)
         b(k,111) = b(k,111) - lu(k,706) * b(k,86)
         b(k,113) = b(k,113) - lu(k,707) * b(k,86)
         b(k,114) = b(k,114) - lu(k,708) * b(k,86)
         b(k,91) = b(k,91) - lu(k,714) * b(k,87)
         b(k,92) = b(k,92) - lu(k,715) * b(k,87)
         b(k,93) = b(k,93) - lu(k,716) * b(k,87)
         b(k,94) = b(k,94) - lu(k,717) * b(k,87)
         b(k,95) = b(k,95) - lu(k,718) * b(k,87)
         b(k,96) = b(k,96) - lu(k,719) * b(k,87)
         b(k,97) = b(k,97) - lu(k,720) * b(k,87)
         b(k,98) = b(k,98) - lu(k,721) * b(k,87)
         b(k,99) = b(k,99) - lu(k,722) * b(k,87)
         b(k,100) = b(k,100) - lu(k,723) * b(k,87)
         b(k,101) = b(k,101) - lu(k,724) * b(k,87)
         b(k,103) = b(k,103) - lu(k,725) * b(k,87)
         b(k,104) = b(k,104) - lu(k,726) * b(k,87)
         b(k,105) = b(k,105) - lu(k,727) * b(k,87)
         b(k,106) = b(k,106) - lu(k,728) * b(k,87)
         b(k,107) = b(k,107) - lu(k,729) * b(k,87)
         b(k,108) = b(k,108) - lu(k,730) * b(k,87)
         b(k,111) = b(k,111) - lu(k,731) * b(k,87)
         b(k,113) = b(k,113) - lu(k,732) * b(k,87)
         b(k,114) = b(k,114) - lu(k,733) * b(k,87)
         b(k,89) = b(k,89) - lu(k,748) * b(k,88)
         b(k,94) = b(k,94) - lu(k,749) * b(k,88)
         b(k,95) = b(k,95) - lu(k,750) * b(k,88)
         b(k,96) = b(k,96) - lu(k,751) * b(k,88)
         b(k,97) = b(k,97) - lu(k,752) * b(k,88)
         b(k,98) = b(k,98) - lu(k,753) * b(k,88)
         b(k,99) = b(k,99) - lu(k,754) * b(k,88)
         b(k,100) = b(k,100) - lu(k,755) * b(k,88)
         b(k,101) = b(k,101) - lu(k,756) * b(k,88)
         b(k,102) = b(k,102) - lu(k,757) * b(k,88)
         b(k,103) = b(k,103) - lu(k,758) * b(k,88)
         b(k,104) = b(k,104) - lu(k,759) * b(k,88)
         b(k,105) = b(k,105) - lu(k,760) * b(k,88)
         b(k,106) = b(k,106) - lu(k,761) * b(k,88)
         b(k,107) = b(k,107) - lu(k,762) * b(k,88)
         b(k,109) = b(k,109) - lu(k,763) * b(k,88)
         b(k,110) = b(k,110) - lu(k,764) * b(k,88)
         b(k,112) = b(k,112) - lu(k,765) * b(k,88)
         b(k,113) = b(k,113) - lu(k,766) * b(k,88)
         b(k,114) = b(k,114) - lu(k,767) * b(k,88)
         b(k,92) = b(k,92) - lu(k,795) * b(k,89)
         b(k,94) = b(k,94) - lu(k,796) * b(k,89)
         b(k,95) = b(k,95) - lu(k,797) * b(k,89)
         b(k,96) = b(k,96) - lu(k,798) * b(k,89)
         b(k,97) = b(k,97) - lu(k,799) * b(k,89)
         b(k,98) = b(k,98) - lu(k,800) * b(k,89)
         b(k,99) = b(k,99) - lu(k,801) * b(k,89)
         b(k,100) = b(k,100) - lu(k,802) * b(k,89)
         b(k,101) = b(k,101) - lu(k,803) * b(k,89)
         b(k,102) = b(k,102) - lu(k,804) * b(k,89)
         b(k,103) = b(k,103) - lu(k,805) * b(k,89)
         b(k,104) = b(k,104) - lu(k,806) * b(k,89)
         b(k,105) = b(k,105) - lu(k,807) * b(k,89)
         b(k,106) = b(k,106) - lu(k,808) * b(k,89)
         b(k,107) = b(k,107) - lu(k,809) * b(k,89)
         b(k,109) = b(k,109) - lu(k,810) * b(k,89)
         b(k,110) = b(k,110) - lu(k,811) * b(k,89)
         b(k,112) = b(k,112) - lu(k,812) * b(k,89)
         b(k,113) = b(k,113) - lu(k,813) * b(k,89)
         b(k,114) = b(k,114) - lu(k,814) * b(k,89)
      end do
      end subroutine lu_slv03
      subroutine lu_slv04( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,91) = b(k,91) - lu(k,823) * b(k,90)
         b(k,92) = b(k,92) - lu(k,824) * b(k,90)
         b(k,93) = b(k,93) - lu(k,825) * b(k,90)
         b(k,94) = b(k,94) - lu(k,826) * b(k,90)
         b(k,95) = b(k,95) - lu(k,827) * b(k,90)
         b(k,96) = b(k,96) - lu(k,828) * b(k,90)
         b(k,97) = b(k,97) - lu(k,829) * b(k,90)
         b(k,98) = b(k,98) - lu(k,830) * b(k,90)
         b(k,99) = b(k,99) - lu(k,831) * b(k,90)
         b(k,100) = b(k,100) - lu(k,832) * b(k,90)
         b(k,101) = b(k,101) - lu(k,833) * b(k,90)
         b(k,102) = b(k,102) - lu(k,834) * b(k,90)
         b(k,103) = b(k,103) - lu(k,835) * b(k,90)
         b(k,104) = b(k,104) - lu(k,836) * b(k,90)
         b(k,105) = b(k,105) - lu(k,837) * b(k,90)
         b(k,106) = b(k,106) - lu(k,838) * b(k,90)
         b(k,107) = b(k,107) - lu(k,839) * b(k,90)
         b(k,108) = b(k,108) - lu(k,840) * b(k,90)
         b(k,109) = b(k,109) - lu(k,841) * b(k,90)
         b(k,110) = b(k,110) - lu(k,842) * b(k,90)
         b(k,111) = b(k,111) - lu(k,843) * b(k,90)
         b(k,112) = b(k,112) - lu(k,844) * b(k,90)
         b(k,113) = b(k,113) - lu(k,845) * b(k,90)
         b(k,114) = b(k,114) - lu(k,846) * b(k,90)
         b(k,92) = b(k,92) - lu(k,853) * b(k,91)
         b(k,93) = b(k,93) - lu(k,854) * b(k,91)
         b(k,94) = b(k,94) - lu(k,855) * b(k,91)
         b(k,95) = b(k,95) - lu(k,856) * b(k,91)
         b(k,96) = b(k,96) - lu(k,857) * b(k,91)
         b(k,97) = b(k,97) - lu(k,858) * b(k,91)
         b(k,98) = b(k,98) - lu(k,859) * b(k,91)
         b(k,99) = b(k,99) - lu(k,860) * b(k,91)
         b(k,100) = b(k,100) - lu(k,861) * b(k,91)
         b(k,101) = b(k,101) - lu(k,862) * b(k,91)
         b(k,102) = b(k,102) - lu(k,863) * b(k,91)
         b(k,103) = b(k,103) - lu(k,864) * b(k,91)
         b(k,104) = b(k,104) - lu(k,865) * b(k,91)
         b(k,105) = b(k,105) - lu(k,866) * b(k,91)
         b(k,106) = b(k,106) - lu(k,867) * b(k,91)
         b(k,107) = b(k,107) - lu(k,868) * b(k,91)
         b(k,108) = b(k,108) - lu(k,869) * b(k,91)
         b(k,109) = b(k,109) - lu(k,870) * b(k,91)
         b(k,110) = b(k,110) - lu(k,871) * b(k,91)
         b(k,111) = b(k,111) - lu(k,872) * b(k,91)
         b(k,112) = b(k,112) - lu(k,873) * b(k,91)
         b(k,113) = b(k,113) - lu(k,874) * b(k,91)
         b(k,114) = b(k,114) - lu(k,875) * b(k,91)
         b(k,93) = b(k,93) - lu(k,901) * b(k,92)
         b(k,94) = b(k,94) - lu(k,902) * b(k,92)
         b(k,95) = b(k,95) - lu(k,903) * b(k,92)
         b(k,96) = b(k,96) - lu(k,904) * b(k,92)
         b(k,97) = b(k,97) - lu(k,905) * b(k,92)
         b(k,98) = b(k,98) - lu(k,906) * b(k,92)
         b(k,99) = b(k,99) - lu(k,907) * b(k,92)
         b(k,100) = b(k,100) - lu(k,908) * b(k,92)
         b(k,101) = b(k,101) - lu(k,909) * b(k,92)
         b(k,102) = b(k,102) - lu(k,910) * b(k,92)
         b(k,103) = b(k,103) - lu(k,911) * b(k,92)
         b(k,104) = b(k,104) - lu(k,912) * b(k,92)
         b(k,105) = b(k,105) - lu(k,913) * b(k,92)
         b(k,106) = b(k,106) - lu(k,914) * b(k,92)
         b(k,107) = b(k,107) - lu(k,915) * b(k,92)
         b(k,108) = b(k,108) - lu(k,916) * b(k,92)
         b(k,109) = b(k,109) - lu(k,917) * b(k,92)
         b(k,110) = b(k,110) - lu(k,918) * b(k,92)
         b(k,111) = b(k,111) - lu(k,919) * b(k,92)
         b(k,112) = b(k,112) - lu(k,920) * b(k,92)
         b(k,113) = b(k,113) - lu(k,921) * b(k,92)
         b(k,114) = b(k,114) - lu(k,922) * b(k,92)
         b(k,94) = b(k,94) - lu(k,944) * b(k,93)
         b(k,95) = b(k,95) - lu(k,945) * b(k,93)
         b(k,96) = b(k,96) - lu(k,946) * b(k,93)
         b(k,97) = b(k,97) - lu(k,947) * b(k,93)
         b(k,98) = b(k,98) - lu(k,948) * b(k,93)
         b(k,99) = b(k,99) - lu(k,949) * b(k,93)
         b(k,100) = b(k,100) - lu(k,950) * b(k,93)
         b(k,101) = b(k,101) - lu(k,951) * b(k,93)
         b(k,102) = b(k,102) - lu(k,952) * b(k,93)
         b(k,103) = b(k,103) - lu(k,953) * b(k,93)
         b(k,104) = b(k,104) - lu(k,954) * b(k,93)
         b(k,105) = b(k,105) - lu(k,955) * b(k,93)
         b(k,106) = b(k,106) - lu(k,956) * b(k,93)
         b(k,107) = b(k,107) - lu(k,957) * b(k,93)
         b(k,108) = b(k,108) - lu(k,958) * b(k,93)
         b(k,109) = b(k,109) - lu(k,959) * b(k,93)
         b(k,110) = b(k,110) - lu(k,960) * b(k,93)
         b(k,111) = b(k,111) - lu(k,961) * b(k,93)
         b(k,112) = b(k,112) - lu(k,962) * b(k,93)
         b(k,113) = b(k,113) - lu(k,963) * b(k,93)
         b(k,114) = b(k,114) - lu(k,964) * b(k,93)
         b(k,95) = b(k,95) - lu(k,991) * b(k,94)
         b(k,96) = b(k,96) - lu(k,992) * b(k,94)
         b(k,97) = b(k,97) - lu(k,993) * b(k,94)
         b(k,98) = b(k,98) - lu(k,994) * b(k,94)
         b(k,99) = b(k,99) - lu(k,995) * b(k,94)
         b(k,100) = b(k,100) - lu(k,996) * b(k,94)
         b(k,101) = b(k,101) - lu(k,997) * b(k,94)
         b(k,102) = b(k,102) - lu(k,998) * b(k,94)
         b(k,103) = b(k,103) - lu(k,999) * b(k,94)
         b(k,104) = b(k,104) - lu(k,1000) * b(k,94)
         b(k,105) = b(k,105) - lu(k,1001) * b(k,94)
         b(k,106) = b(k,106) - lu(k,1002) * b(k,94)
         b(k,107) = b(k,107) - lu(k,1003) * b(k,94)
         b(k,108) = b(k,108) - lu(k,1004) * b(k,94)
         b(k,109) = b(k,109) - lu(k,1005) * b(k,94)
         b(k,110) = b(k,110) - lu(k,1006) * b(k,94)
         b(k,111) = b(k,111) - lu(k,1007) * b(k,94)
         b(k,112) = b(k,112) - lu(k,1008) * b(k,94)
         b(k,113) = b(k,113) - lu(k,1009) * b(k,94)
         b(k,114) = b(k,114) - lu(k,1010) * b(k,94)
         b(k,96) = b(k,96) - lu(k,1034) * b(k,95)
         b(k,97) = b(k,97) - lu(k,1035) * b(k,95)
         b(k,98) = b(k,98) - lu(k,1036) * b(k,95)
         b(k,99) = b(k,99) - lu(k,1037) * b(k,95)
         b(k,100) = b(k,100) - lu(k,1038) * b(k,95)
         b(k,101) = b(k,101) - lu(k,1039) * b(k,95)
         b(k,102) = b(k,102) - lu(k,1040) * b(k,95)
         b(k,103) = b(k,103) - lu(k,1041) * b(k,95)
         b(k,104) = b(k,104) - lu(k,1042) * b(k,95)
         b(k,105) = b(k,105) - lu(k,1043) * b(k,95)
         b(k,106) = b(k,106) - lu(k,1044) * b(k,95)
         b(k,107) = b(k,107) - lu(k,1045) * b(k,95)
         b(k,108) = b(k,108) - lu(k,1046) * b(k,95)
         b(k,109) = b(k,109) - lu(k,1047) * b(k,95)
         b(k,110) = b(k,110) - lu(k,1048) * b(k,95)
         b(k,111) = b(k,111) - lu(k,1049) * b(k,95)
         b(k,112) = b(k,112) - lu(k,1050) * b(k,95)
         b(k,113) = b(k,113) - lu(k,1051) * b(k,95)
         b(k,114) = b(k,114) - lu(k,1052) * b(k,95)
         b(k,97) = b(k,97) - lu(k,1076) * b(k,96)
         b(k,98) = b(k,98) - lu(k,1077) * b(k,96)
         b(k,99) = b(k,99) - lu(k,1078) * b(k,96)
         b(k,100) = b(k,100) - lu(k,1079) * b(k,96)
         b(k,101) = b(k,101) - lu(k,1080) * b(k,96)
         b(k,102) = b(k,102) - lu(k,1081) * b(k,96)
         b(k,103) = b(k,103) - lu(k,1082) * b(k,96)
         b(k,104) = b(k,104) - lu(k,1083) * b(k,96)
         b(k,105) = b(k,105) - lu(k,1084) * b(k,96)
         b(k,106) = b(k,106) - lu(k,1085) * b(k,96)
         b(k,107) = b(k,107) - lu(k,1086) * b(k,96)
         b(k,108) = b(k,108) - lu(k,1087) * b(k,96)
         b(k,109) = b(k,109) - lu(k,1088) * b(k,96)
         b(k,110) = b(k,110) - lu(k,1089) * b(k,96)
         b(k,111) = b(k,111) - lu(k,1090) * b(k,96)
         b(k,112) = b(k,112) - lu(k,1091) * b(k,96)
         b(k,113) = b(k,113) - lu(k,1092) * b(k,96)
         b(k,114) = b(k,114) - lu(k,1093) * b(k,96)
         b(k,98) = b(k,98) - lu(k,1116) * b(k,97)
         b(k,99) = b(k,99) - lu(k,1117) * b(k,97)
         b(k,100) = b(k,100) - lu(k,1118) * b(k,97)
         b(k,101) = b(k,101) - lu(k,1119) * b(k,97)
         b(k,102) = b(k,102) - lu(k,1120) * b(k,97)
         b(k,103) = b(k,103) - lu(k,1121) * b(k,97)
         b(k,104) = b(k,104) - lu(k,1122) * b(k,97)
         b(k,105) = b(k,105) - lu(k,1123) * b(k,97)
         b(k,106) = b(k,106) - lu(k,1124) * b(k,97)
         b(k,107) = b(k,107) - lu(k,1125) * b(k,97)
         b(k,108) = b(k,108) - lu(k,1126) * b(k,97)
         b(k,109) = b(k,109) - lu(k,1127) * b(k,97)
         b(k,110) = b(k,110) - lu(k,1128) * b(k,97)
         b(k,111) = b(k,111) - lu(k,1129) * b(k,97)
         b(k,112) = b(k,112) - lu(k,1130) * b(k,97)
         b(k,113) = b(k,113) - lu(k,1131) * b(k,97)
         b(k,114) = b(k,114) - lu(k,1132) * b(k,97)
         b(k,99) = b(k,99) - lu(k,1161) * b(k,98)
         b(k,100) = b(k,100) - lu(k,1162) * b(k,98)
         b(k,101) = b(k,101) - lu(k,1163) * b(k,98)
         b(k,102) = b(k,102) - lu(k,1164) * b(k,98)
         b(k,103) = b(k,103) - lu(k,1165) * b(k,98)
         b(k,104) = b(k,104) - lu(k,1166) * b(k,98)
         b(k,105) = b(k,105) - lu(k,1167) * b(k,98)
         b(k,106) = b(k,106) - lu(k,1168) * b(k,98)
         b(k,107) = b(k,107) - lu(k,1169) * b(k,98)
         b(k,108) = b(k,108) - lu(k,1170) * b(k,98)
         b(k,109) = b(k,109) - lu(k,1171) * b(k,98)
         b(k,110) = b(k,110) - lu(k,1172) * b(k,98)
         b(k,111) = b(k,111) - lu(k,1173) * b(k,98)
         b(k,112) = b(k,112) - lu(k,1174) * b(k,98)
         b(k,113) = b(k,113) - lu(k,1175) * b(k,98)
         b(k,114) = b(k,114) - lu(k,1176) * b(k,98)
         b(k,100) = b(k,100) - lu(k,1203) * b(k,99)
         b(k,101) = b(k,101) - lu(k,1204) * b(k,99)
         b(k,102) = b(k,102) - lu(k,1205) * b(k,99)
         b(k,103) = b(k,103) - lu(k,1206) * b(k,99)
         b(k,104) = b(k,104) - lu(k,1207) * b(k,99)
         b(k,105) = b(k,105) - lu(k,1208) * b(k,99)
         b(k,106) = b(k,106) - lu(k,1209) * b(k,99)
         b(k,107) = b(k,107) - lu(k,1210) * b(k,99)
         b(k,108) = b(k,108) - lu(k,1211) * b(k,99)
         b(k,109) = b(k,109) - lu(k,1212) * b(k,99)
         b(k,110) = b(k,110) - lu(k,1213) * b(k,99)
         b(k,111) = b(k,111) - lu(k,1214) * b(k,99)
         b(k,112) = b(k,112) - lu(k,1215) * b(k,99)
         b(k,113) = b(k,113) - lu(k,1216) * b(k,99)
         b(k,114) = b(k,114) - lu(k,1217) * b(k,99)
         b(k,101) = b(k,101) - lu(k,1253) * b(k,100)
         b(k,102) = b(k,102) - lu(k,1254) * b(k,100)
         b(k,103) = b(k,103) - lu(k,1255) * b(k,100)
         b(k,104) = b(k,104) - lu(k,1256) * b(k,100)
         b(k,105) = b(k,105) - lu(k,1257) * b(k,100)
         b(k,106) = b(k,106) - lu(k,1258) * b(k,100)
         b(k,107) = b(k,107) - lu(k,1259) * b(k,100)
         b(k,108) = b(k,108) - lu(k,1260) * b(k,100)
         b(k,109) = b(k,109) - lu(k,1261) * b(k,100)
         b(k,110) = b(k,110) - lu(k,1262) * b(k,100)
         b(k,111) = b(k,111) - lu(k,1263) * b(k,100)
         b(k,112) = b(k,112) - lu(k,1264) * b(k,100)
         b(k,113) = b(k,113) - lu(k,1265) * b(k,100)
         b(k,114) = b(k,114) - lu(k,1266) * b(k,100)
      end do
      end subroutine lu_slv04
      subroutine lu_slv05( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,102) = b(k,102) - lu(k,1293) * b(k,101)
         b(k,103) = b(k,103) - lu(k,1294) * b(k,101)
         b(k,104) = b(k,104) - lu(k,1295) * b(k,101)
         b(k,105) = b(k,105) - lu(k,1296) * b(k,101)
         b(k,106) = b(k,106) - lu(k,1297) * b(k,101)
         b(k,107) = b(k,107) - lu(k,1298) * b(k,101)
         b(k,108) = b(k,108) - lu(k,1299) * b(k,101)
         b(k,109) = b(k,109) - lu(k,1300) * b(k,101)
         b(k,110) = b(k,110) - lu(k,1301) * b(k,101)
         b(k,111) = b(k,111) - lu(k,1302) * b(k,101)
         b(k,112) = b(k,112) - lu(k,1303) * b(k,101)
         b(k,113) = b(k,113) - lu(k,1304) * b(k,101)
         b(k,114) = b(k,114) - lu(k,1305) * b(k,101)
         b(k,103) = b(k,103) - lu(k,1329) * b(k,102)
         b(k,104) = b(k,104) - lu(k,1330) * b(k,102)
         b(k,105) = b(k,105) - lu(k,1331) * b(k,102)
         b(k,106) = b(k,106) - lu(k,1332) * b(k,102)
         b(k,107) = b(k,107) - lu(k,1333) * b(k,102)
         b(k,108) = b(k,108) - lu(k,1334) * b(k,102)
         b(k,109) = b(k,109) - lu(k,1335) * b(k,102)
         b(k,110) = b(k,110) - lu(k,1336) * b(k,102)
         b(k,111) = b(k,111) - lu(k,1337) * b(k,102)
         b(k,112) = b(k,112) - lu(k,1338) * b(k,102)
         b(k,113) = b(k,113) - lu(k,1339) * b(k,102)
         b(k,114) = b(k,114) - lu(k,1340) * b(k,102)
         b(k,104) = b(k,104) - lu(k,1374) * b(k,103)
         b(k,105) = b(k,105) - lu(k,1375) * b(k,103)
         b(k,106) = b(k,106) - lu(k,1376) * b(k,103)
         b(k,107) = b(k,107) - lu(k,1377) * b(k,103)
         b(k,108) = b(k,108) - lu(k,1378) * b(k,103)
         b(k,109) = b(k,109) - lu(k,1379) * b(k,103)
         b(k,110) = b(k,110) - lu(k,1380) * b(k,103)
         b(k,111) = b(k,111) - lu(k,1381) * b(k,103)
         b(k,112) = b(k,112) - lu(k,1382) * b(k,103)
         b(k,113) = b(k,113) - lu(k,1383) * b(k,103)
         b(k,114) = b(k,114) - lu(k,1384) * b(k,103)
         b(k,105) = b(k,105) - lu(k,1434) * b(k,104)
         b(k,106) = b(k,106) - lu(k,1435) * b(k,104)
         b(k,107) = b(k,107) - lu(k,1436) * b(k,104)
         b(k,108) = b(k,108) - lu(k,1437) * b(k,104)
         b(k,109) = b(k,109) - lu(k,1438) * b(k,104)
         b(k,110) = b(k,110) - lu(k,1439) * b(k,104)
         b(k,111) = b(k,111) - lu(k,1440) * b(k,104)
         b(k,112) = b(k,112) - lu(k,1441) * b(k,104)
         b(k,113) = b(k,113) - lu(k,1442) * b(k,104)
         b(k,114) = b(k,114) - lu(k,1443) * b(k,104)
         b(k,106) = b(k,106) - lu(k,1477) * b(k,105)
         b(k,107) = b(k,107) - lu(k,1478) * b(k,105)
         b(k,108) = b(k,108) - lu(k,1479) * b(k,105)
         b(k,109) = b(k,109) - lu(k,1480) * b(k,105)
         b(k,110) = b(k,110) - lu(k,1481) * b(k,105)
         b(k,111) = b(k,111) - lu(k,1482) * b(k,105)
         b(k,112) = b(k,112) - lu(k,1483) * b(k,105)
         b(k,113) = b(k,113) - lu(k,1484) * b(k,105)
         b(k,114) = b(k,114) - lu(k,1485) * b(k,105)
         b(k,107) = b(k,107) - lu(k,1519) * b(k,106)
         b(k,108) = b(k,108) - lu(k,1520) * b(k,106)
         b(k,109) = b(k,109) - lu(k,1521) * b(k,106)
         b(k,110) = b(k,110) - lu(k,1522) * b(k,106)
         b(k,111) = b(k,111) - lu(k,1523) * b(k,106)
         b(k,112) = b(k,112) - lu(k,1524) * b(k,106)
         b(k,113) = b(k,113) - lu(k,1525) * b(k,106)
         b(k,114) = b(k,114) - lu(k,1526) * b(k,106)
         b(k,108) = b(k,108) - lu(k,1562) * b(k,107)
         b(k,109) = b(k,109) - lu(k,1563) * b(k,107)
         b(k,110) = b(k,110) - lu(k,1564) * b(k,107)
         b(k,111) = b(k,111) - lu(k,1565) * b(k,107)
         b(k,112) = b(k,112) - lu(k,1566) * b(k,107)
         b(k,113) = b(k,113) - lu(k,1567) * b(k,107)
         b(k,114) = b(k,114) - lu(k,1568) * b(k,107)
         b(k,109) = b(k,109) - lu(k,1605) * b(k,108)
         b(k,110) = b(k,110) - lu(k,1606) * b(k,108)
         b(k,111) = b(k,111) - lu(k,1607) * b(k,108)
         b(k,112) = b(k,112) - lu(k,1608) * b(k,108)
         b(k,113) = b(k,113) - lu(k,1609) * b(k,108)
         b(k,114) = b(k,114) - lu(k,1610) * b(k,108)
         b(k,110) = b(k,110) - lu(k,1638) * b(k,109)
         b(k,111) = b(k,111) - lu(k,1639) * b(k,109)
         b(k,112) = b(k,112) - lu(k,1640) * b(k,109)
         b(k,113) = b(k,113) - lu(k,1641) * b(k,109)
         b(k,114) = b(k,114) - lu(k,1642) * b(k,109)
         b(k,111) = b(k,111) - lu(k,1674) * b(k,110)
         b(k,112) = b(k,112) - lu(k,1675) * b(k,110)
         b(k,113) = b(k,113) - lu(k,1676) * b(k,110)
         b(k,114) = b(k,114) - lu(k,1677) * b(k,110)
         b(k,112) = b(k,112) - lu(k,1717) * b(k,111)
         b(k,113) = b(k,113) - lu(k,1718) * b(k,111)
         b(k,114) = b(k,114) - lu(k,1719) * b(k,111)
         b(k,113) = b(k,113) - lu(k,1762) * b(k,112)
         b(k,114) = b(k,114) - lu(k,1763) * b(k,112)
         b(k,114) = b(k,114) - lu(k,1798) * b(k,113)
      end do
      end subroutine lu_slv05
      subroutine lu_slv06( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
!-----------------------------------------------------------------------
! ... Solve U * x = y
!-----------------------------------------------------------------------
         b(k,114) = b(k,114) * lu(k,1856)
         b(k,113) = b(k,113) - lu(k,1855) * b(k,114)
         b(k,112) = b(k,112) - lu(k,1854) * b(k,114)
         b(k,111) = b(k,111) - lu(k,1853) * b(k,114)
         b(k,110) = b(k,110) - lu(k,1852) * b(k,114)
         b(k,109) = b(k,109) - lu(k,1851) * b(k,114)
         b(k,108) = b(k,108) - lu(k,1850) * b(k,114)
         b(k,107) = b(k,107) - lu(k,1849) * b(k,114)
         b(k,106) = b(k,106) - lu(k,1848) * b(k,114)
         b(k,105) = b(k,105) - lu(k,1847) * b(k,114)
         b(k,104) = b(k,104) - lu(k,1846) * b(k,114)
         b(k,103) = b(k,103) - lu(k,1845) * b(k,114)
         b(k,102) = b(k,102) - lu(k,1844) * b(k,114)
         b(k,101) = b(k,101) - lu(k,1843) * b(k,114)
         b(k,100) = b(k,100) - lu(k,1842) * b(k,114)
         b(k,99) = b(k,99) - lu(k,1841) * b(k,114)
         b(k,98) = b(k,98) - lu(k,1840) * b(k,114)
         b(k,97) = b(k,97) - lu(k,1839) * b(k,114)
         b(k,96) = b(k,96) - lu(k,1838) * b(k,114)
         b(k,95) = b(k,95) - lu(k,1837) * b(k,114)
         b(k,94) = b(k,94) - lu(k,1836) * b(k,114)
         b(k,93) = b(k,93) - lu(k,1835) * b(k,114)
         b(k,92) = b(k,92) - lu(k,1834) * b(k,114)
         b(k,91) = b(k,91) - lu(k,1833) * b(k,114)
         b(k,90) = b(k,90) - lu(k,1832) * b(k,114)
         b(k,89) = b(k,89) - lu(k,1831) * b(k,114)
         b(k,88) = b(k,88) - lu(k,1830) * b(k,114)
         b(k,87) = b(k,87) - lu(k,1829) * b(k,114)
         b(k,86) = b(k,86) - lu(k,1828) * b(k,114)
         b(k,84) = b(k,84) - lu(k,1827) * b(k,114)
         b(k,83) = b(k,83) - lu(k,1826) * b(k,114)
         b(k,82) = b(k,82) - lu(k,1825) * b(k,114)
         b(k,81) = b(k,81) - lu(k,1824) * b(k,114)
         b(k,80) = b(k,80) - lu(k,1823) * b(k,114)
         b(k,79) = b(k,79) - lu(k,1822) * b(k,114)
         b(k,77) = b(k,77) - lu(k,1821) * b(k,114)
         b(k,75) = b(k,75) - lu(k,1820) * b(k,114)
         b(k,73) = b(k,73) - lu(k,1819) * b(k,114)
         b(k,72) = b(k,72) - lu(k,1818) * b(k,114)
         b(k,70) = b(k,70) - lu(k,1817) * b(k,114)
         b(k,69) = b(k,69) - lu(k,1816) * b(k,114)
         b(k,68) = b(k,68) - lu(k,1815) * b(k,114)
         b(k,66) = b(k,66) - lu(k,1814) * b(k,114)
         b(k,60) = b(k,60) - lu(k,1813) * b(k,114)
         b(k,53) = b(k,53) - lu(k,1812) * b(k,114)
         b(k,52) = b(k,52) - lu(k,1811) * b(k,114)
         b(k,51) = b(k,51) - lu(k,1810) * b(k,114)
         b(k,50) = b(k,50) - lu(k,1809) * b(k,114)
         b(k,48) = b(k,48) - lu(k,1808) * b(k,114)
         b(k,41) = b(k,41) - lu(k,1807) * b(k,114)
         b(k,40) = b(k,40) - lu(k,1806) * b(k,114)
         b(k,37) = b(k,37) - lu(k,1805) * b(k,114)
         b(k,36) = b(k,36) - lu(k,1804) * b(k,114)
         b(k,31) = b(k,31) - lu(k,1803) * b(k,114)
         b(k,30) = b(k,30) - lu(k,1802) * b(k,114)
         b(k,29) = b(k,29) - lu(k,1801) * b(k,114)
         b(k,26) = b(k,26) - lu(k,1800) * b(k,114)
         b(k,22) = b(k,22) - lu(k,1799) * b(k,114)
         b(k,113) = b(k,113) * lu(k,1797)
         b(k,112) = b(k,112) - lu(k,1796) * b(k,113)
         b(k,111) = b(k,111) - lu(k,1795) * b(k,113)
         b(k,110) = b(k,110) - lu(k,1794) * b(k,113)
         b(k,109) = b(k,109) - lu(k,1793) * b(k,113)
         b(k,108) = b(k,108) - lu(k,1792) * b(k,113)
         b(k,107) = b(k,107) - lu(k,1791) * b(k,113)
         b(k,106) = b(k,106) - lu(k,1790) * b(k,113)
         b(k,105) = b(k,105) - lu(k,1789) * b(k,113)
         b(k,104) = b(k,104) - lu(k,1788) * b(k,113)
         b(k,103) = b(k,103) - lu(k,1787) * b(k,113)
         b(k,102) = b(k,102) - lu(k,1786) * b(k,113)
         b(k,101) = b(k,101) - lu(k,1785) * b(k,113)
         b(k,100) = b(k,100) - lu(k,1784) * b(k,113)
         b(k,99) = b(k,99) - lu(k,1783) * b(k,113)
         b(k,98) = b(k,98) - lu(k,1782) * b(k,113)
         b(k,97) = b(k,97) - lu(k,1781) * b(k,113)
         b(k,96) = b(k,96) - lu(k,1780) * b(k,113)
         b(k,95) = b(k,95) - lu(k,1779) * b(k,113)
         b(k,94) = b(k,94) - lu(k,1778) * b(k,113)
         b(k,93) = b(k,93) - lu(k,1777) * b(k,113)
         b(k,92) = b(k,92) - lu(k,1776) * b(k,113)
         b(k,91) = b(k,91) - lu(k,1775) * b(k,113)
         b(k,90) = b(k,90) - lu(k,1774) * b(k,113)
         b(k,89) = b(k,89) - lu(k,1773) * b(k,113)
         b(k,88) = b(k,88) - lu(k,1772) * b(k,113)
         b(k,87) = b(k,87) - lu(k,1771) * b(k,113)
         b(k,86) = b(k,86) - lu(k,1770) * b(k,113)
         b(k,85) = b(k,85) - lu(k,1769) * b(k,113)
         b(k,84) = b(k,84) - lu(k,1768) * b(k,113)
         b(k,83) = b(k,83) - lu(k,1767) * b(k,113)
         b(k,77) = b(k,77) - lu(k,1766) * b(k,113)
         b(k,74) = b(k,74) - lu(k,1765) * b(k,113)
         b(k,51) = b(k,51) - lu(k,1764) * b(k,113)
         b(k,112) = b(k,112) * lu(k,1761)
         b(k,111) = b(k,111) - lu(k,1760) * b(k,112)
         b(k,110) = b(k,110) - lu(k,1759) * b(k,112)
         b(k,109) = b(k,109) - lu(k,1758) * b(k,112)
         b(k,108) = b(k,108) - lu(k,1757) * b(k,112)
         b(k,107) = b(k,107) - lu(k,1756) * b(k,112)
         b(k,106) = b(k,106) - lu(k,1755) * b(k,112)
         b(k,105) = b(k,105) - lu(k,1754) * b(k,112)
         b(k,104) = b(k,104) - lu(k,1753) * b(k,112)
         b(k,103) = b(k,103) - lu(k,1752) * b(k,112)
         b(k,102) = b(k,102) - lu(k,1751) * b(k,112)
         b(k,101) = b(k,101) - lu(k,1750) * b(k,112)
         b(k,100) = b(k,100) - lu(k,1749) * b(k,112)
         b(k,99) = b(k,99) - lu(k,1748) * b(k,112)
         b(k,98) = b(k,98) - lu(k,1747) * b(k,112)
         b(k,97) = b(k,97) - lu(k,1746) * b(k,112)
         b(k,96) = b(k,96) - lu(k,1745) * b(k,112)
         b(k,95) = b(k,95) - lu(k,1744) * b(k,112)
         b(k,94) = b(k,94) - lu(k,1743) * b(k,112)
         b(k,93) = b(k,93) - lu(k,1742) * b(k,112)
         b(k,92) = b(k,92) - lu(k,1741) * b(k,112)
         b(k,91) = b(k,91) - lu(k,1740) * b(k,112)
         b(k,90) = b(k,90) - lu(k,1739) * b(k,112)
         b(k,89) = b(k,89) - lu(k,1738) * b(k,112)
         b(k,88) = b(k,88) - lu(k,1737) * b(k,112)
         b(k,87) = b(k,87) - lu(k,1736) * b(k,112)
         b(k,86) = b(k,86) - lu(k,1735) * b(k,112)
         b(k,85) = b(k,85) - lu(k,1734) * b(k,112)
         b(k,84) = b(k,84) - lu(k,1733) * b(k,112)
         b(k,83) = b(k,83) - lu(k,1732) * b(k,112)
         b(k,82) = b(k,82) - lu(k,1731) * b(k,112)
         b(k,75) = b(k,75) - lu(k,1730) * b(k,112)
         b(k,70) = b(k,70) - lu(k,1729) * b(k,112)
         b(k,66) = b(k,66) - lu(k,1728) * b(k,112)
         b(k,63) = b(k,63) - lu(k,1727) * b(k,112)
         b(k,62) = b(k,62) - lu(k,1726) * b(k,112)
         b(k,60) = b(k,60) - lu(k,1725) * b(k,112)
         b(k,57) = b(k,57) - lu(k,1724) * b(k,112)
         b(k,33) = b(k,33) - lu(k,1723) * b(k,112)
         b(k,27) = b(k,27) - lu(k,1722) * b(k,112)
         b(k,24) = b(k,24) - lu(k,1721) * b(k,112)
         b(k,21) = b(k,21) - lu(k,1720) * b(k,112)
         b(k,111) = b(k,111) * lu(k,1716)
         b(k,110) = b(k,110) - lu(k,1715) * b(k,111)
         b(k,109) = b(k,109) - lu(k,1714) * b(k,111)
         b(k,108) = b(k,108) - lu(k,1713) * b(k,111)
         b(k,107) = b(k,107) - lu(k,1712) * b(k,111)
         b(k,106) = b(k,106) - lu(k,1711) * b(k,111)
         b(k,105) = b(k,105) - lu(k,1710) * b(k,111)
         b(k,104) = b(k,104) - lu(k,1709) * b(k,111)
         b(k,103) = b(k,103) - lu(k,1708) * b(k,111)
         b(k,102) = b(k,102) - lu(k,1707) * b(k,111)
         b(k,101) = b(k,101) - lu(k,1706) * b(k,111)
         b(k,100) = b(k,100) - lu(k,1705) * b(k,111)
         b(k,99) = b(k,99) - lu(k,1704) * b(k,111)
         b(k,98) = b(k,98) - lu(k,1703) * b(k,111)
         b(k,97) = b(k,97) - lu(k,1702) * b(k,111)
         b(k,96) = b(k,96) - lu(k,1701) * b(k,111)
         b(k,95) = b(k,95) - lu(k,1700) * b(k,111)
         b(k,94) = b(k,94) - lu(k,1699) * b(k,111)
         b(k,93) = b(k,93) - lu(k,1698) * b(k,111)
         b(k,92) = b(k,92) - lu(k,1697) * b(k,111)
         b(k,91) = b(k,91) - lu(k,1696) * b(k,111)
         b(k,90) = b(k,90) - lu(k,1695) * b(k,111)
         b(k,89) = b(k,89) - lu(k,1694) * b(k,111)
         b(k,88) = b(k,88) - lu(k,1693) * b(k,111)
         b(k,87) = b(k,87) - lu(k,1692) * b(k,111)
         b(k,86) = b(k,86) - lu(k,1691) * b(k,111)
         b(k,85) = b(k,85) - lu(k,1690) * b(k,111)
         b(k,81) = b(k,81) - lu(k,1689) * b(k,111)
         b(k,80) = b(k,80) - lu(k,1688) * b(k,111)
         b(k,79) = b(k,79) - lu(k,1687) * b(k,111)
         b(k,78) = b(k,78) - lu(k,1686) * b(k,111)
         b(k,76) = b(k,76) - lu(k,1685) * b(k,111)
         b(k,73) = b(k,73) - lu(k,1684) * b(k,111)
         b(k,72) = b(k,72) - lu(k,1683) * b(k,111)
         b(k,71) = b(k,71) - lu(k,1682) * b(k,111)
         b(k,69) = b(k,69) - lu(k,1681) * b(k,111)
         b(k,67) = b(k,67) - lu(k,1680) * b(k,111)
         b(k,64) = b(k,64) - lu(k,1679) * b(k,111)
         b(k,30) = b(k,30) - lu(k,1678) * b(k,111)
         b(k,110) = b(k,110) * lu(k,1673)
         b(k,109) = b(k,109) - lu(k,1672) * b(k,110)
         b(k,108) = b(k,108) - lu(k,1671) * b(k,110)
         b(k,107) = b(k,107) - lu(k,1670) * b(k,110)
         b(k,106) = b(k,106) - lu(k,1669) * b(k,110)
         b(k,105) = b(k,105) - lu(k,1668) * b(k,110)
         b(k,104) = b(k,104) - lu(k,1667) * b(k,110)
         b(k,103) = b(k,103) - lu(k,1666) * b(k,110)
         b(k,102) = b(k,102) - lu(k,1665) * b(k,110)
         b(k,101) = b(k,101) - lu(k,1664) * b(k,110)
         b(k,100) = b(k,100) - lu(k,1663) * b(k,110)
         b(k,99) = b(k,99) - lu(k,1662) * b(k,110)
         b(k,98) = b(k,98) - lu(k,1661) * b(k,110)
         b(k,97) = b(k,97) - lu(k,1660) * b(k,110)
         b(k,96) = b(k,96) - lu(k,1659) * b(k,110)
         b(k,95) = b(k,95) - lu(k,1658) * b(k,110)
         b(k,94) = b(k,94) - lu(k,1657) * b(k,110)
         b(k,93) = b(k,93) - lu(k,1656) * b(k,110)
         b(k,92) = b(k,92) - lu(k,1655) * b(k,110)
         b(k,91) = b(k,91) - lu(k,1654) * b(k,110)
         b(k,90) = b(k,90) - lu(k,1653) * b(k,110)
         b(k,89) = b(k,89) - lu(k,1652) * b(k,110)
         b(k,88) = b(k,88) - lu(k,1651) * b(k,110)
         b(k,87) = b(k,87) - lu(k,1650) * b(k,110)
         b(k,86) = b(k,86) - lu(k,1649) * b(k,110)
         b(k,84) = b(k,84) - lu(k,1648) * b(k,110)
         b(k,83) = b(k,83) - lu(k,1647) * b(k,110)
         b(k,77) = b(k,77) - lu(k,1646) * b(k,110)
         b(k,74) = b(k,74) - lu(k,1645) * b(k,110)
         b(k,68) = b(k,68) - lu(k,1644) * b(k,110)
         b(k,59) = b(k,59) - lu(k,1643) * b(k,110)
      end do
      end subroutine lu_slv06
      subroutine lu_slv07( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,109) = b(k,109) * lu(k,1637)
         b(k,108) = b(k,108) - lu(k,1636) * b(k,109)
         b(k,107) = b(k,107) - lu(k,1635) * b(k,109)
         b(k,106) = b(k,106) - lu(k,1634) * b(k,109)
         b(k,105) = b(k,105) - lu(k,1633) * b(k,109)
         b(k,104) = b(k,104) - lu(k,1632) * b(k,109)
         b(k,103) = b(k,103) - lu(k,1631) * b(k,109)
         b(k,102) = b(k,102) - lu(k,1630) * b(k,109)
         b(k,101) = b(k,101) - lu(k,1629) * b(k,109)
         b(k,100) = b(k,100) - lu(k,1628) * b(k,109)
         b(k,99) = b(k,99) - lu(k,1627) * b(k,109)
         b(k,98) = b(k,98) - lu(k,1626) * b(k,109)
         b(k,97) = b(k,97) - lu(k,1625) * b(k,109)
         b(k,96) = b(k,96) - lu(k,1624) * b(k,109)
         b(k,95) = b(k,95) - lu(k,1623) * b(k,109)
         b(k,94) = b(k,94) - lu(k,1622) * b(k,109)
         b(k,93) = b(k,93) - lu(k,1621) * b(k,109)
         b(k,92) = b(k,92) - lu(k,1620) * b(k,109)
         b(k,91) = b(k,91) - lu(k,1619) * b(k,109)
         b(k,90) = b(k,90) - lu(k,1618) * b(k,109)
         b(k,89) = b(k,89) - lu(k,1617) * b(k,109)
         b(k,88) = b(k,88) - lu(k,1616) * b(k,109)
         b(k,87) = b(k,87) - lu(k,1615) * b(k,109)
         b(k,86) = b(k,86) - lu(k,1614) * b(k,109)
         b(k,74) = b(k,74) - lu(k,1613) * b(k,109)
         b(k,67) = b(k,67) - lu(k,1612) * b(k,109)
         b(k,63) = b(k,63) - lu(k,1611) * b(k,109)
         b(k,108) = b(k,108) * lu(k,1604)
         b(k,107) = b(k,107) - lu(k,1603) * b(k,108)
         b(k,106) = b(k,106) - lu(k,1602) * b(k,108)
         b(k,105) = b(k,105) - lu(k,1601) * b(k,108)
         b(k,104) = b(k,104) - lu(k,1600) * b(k,108)
         b(k,103) = b(k,103) - lu(k,1599) * b(k,108)
         b(k,102) = b(k,102) - lu(k,1598) * b(k,108)
         b(k,101) = b(k,101) - lu(k,1597) * b(k,108)
         b(k,100) = b(k,100) - lu(k,1596) * b(k,108)
         b(k,99) = b(k,99) - lu(k,1595) * b(k,108)
         b(k,98) = b(k,98) - lu(k,1594) * b(k,108)
         b(k,97) = b(k,97) - lu(k,1593) * b(k,108)
         b(k,96) = b(k,96) - lu(k,1592) * b(k,108)
         b(k,95) = b(k,95) - lu(k,1591) * b(k,108)
         b(k,94) = b(k,94) - lu(k,1590) * b(k,108)
         b(k,93) = b(k,93) - lu(k,1589) * b(k,108)
         b(k,92) = b(k,92) - lu(k,1588) * b(k,108)
         b(k,91) = b(k,91) - lu(k,1587) * b(k,108)
         b(k,90) = b(k,90) - lu(k,1586) * b(k,108)
         b(k,89) = b(k,89) - lu(k,1585) * b(k,108)
         b(k,88) = b(k,88) - lu(k,1584) * b(k,108)
         b(k,87) = b(k,87) - lu(k,1583) * b(k,108)
         b(k,86) = b(k,86) - lu(k,1582) * b(k,108)
         b(k,85) = b(k,85) - lu(k,1581) * b(k,108)
         b(k,81) = b(k,81) - lu(k,1580) * b(k,108)
         b(k,80) = b(k,80) - lu(k,1579) * b(k,108)
         b(k,79) = b(k,79) - lu(k,1578) * b(k,108)
         b(k,78) = b(k,78) - lu(k,1577) * b(k,108)
         b(k,76) = b(k,76) - lu(k,1576) * b(k,108)
         b(k,73) = b(k,73) - lu(k,1575) * b(k,108)
         b(k,72) = b(k,72) - lu(k,1574) * b(k,108)
         b(k,71) = b(k,71) - lu(k,1573) * b(k,108)
         b(k,69) = b(k,69) - lu(k,1572) * b(k,108)
         b(k,67) = b(k,67) - lu(k,1571) * b(k,108)
         b(k,64) = b(k,64) - lu(k,1570) * b(k,108)
         b(k,31) = b(k,31) - lu(k,1569) * b(k,108)
         b(k,107) = b(k,107) * lu(k,1561)
         b(k,106) = b(k,106) - lu(k,1560) * b(k,107)
         b(k,105) = b(k,105) - lu(k,1559) * b(k,107)
         b(k,104) = b(k,104) - lu(k,1558) * b(k,107)
         b(k,103) = b(k,103) - lu(k,1557) * b(k,107)
         b(k,102) = b(k,102) - lu(k,1556) * b(k,107)
         b(k,101) = b(k,101) - lu(k,1555) * b(k,107)
         b(k,100) = b(k,100) - lu(k,1554) * b(k,107)
         b(k,99) = b(k,99) - lu(k,1553) * b(k,107)
         b(k,98) = b(k,98) - lu(k,1552) * b(k,107)
         b(k,97) = b(k,97) - lu(k,1551) * b(k,107)
         b(k,96) = b(k,96) - lu(k,1550) * b(k,107)
         b(k,95) = b(k,95) - lu(k,1549) * b(k,107)
         b(k,94) = b(k,94) - lu(k,1548) * b(k,107)
         b(k,93) = b(k,93) - lu(k,1547) * b(k,107)
         b(k,92) = b(k,92) - lu(k,1546) * b(k,107)
         b(k,89) = b(k,89) - lu(k,1545) * b(k,107)
         b(k,88) = b(k,88) - lu(k,1544) * b(k,107)
         b(k,84) = b(k,84) - lu(k,1543) * b(k,107)
         b(k,68) = b(k,68) - lu(k,1542) * b(k,107)
         b(k,65) = b(k,65) - lu(k,1541) * b(k,107)
         b(k,61) = b(k,61) - lu(k,1540) * b(k,107)
         b(k,56) = b(k,56) - lu(k,1539) * b(k,107)
         b(k,55) = b(k,55) - lu(k,1538) * b(k,107)
         b(k,52) = b(k,52) - lu(k,1537) * b(k,107)
         b(k,51) = b(k,51) - lu(k,1536) * b(k,107)
         b(k,50) = b(k,50) - lu(k,1535) * b(k,107)
         b(k,48) = b(k,48) - lu(k,1534) * b(k,107)
         b(k,47) = b(k,47) - lu(k,1533) * b(k,107)
         b(k,43) = b(k,43) - lu(k,1532) * b(k,107)
         b(k,42) = b(k,42) - lu(k,1531) * b(k,107)
         b(k,41) = b(k,41) - lu(k,1530) * b(k,107)
         b(k,40) = b(k,40) - lu(k,1529) * b(k,107)
         b(k,37) = b(k,37) - lu(k,1528) * b(k,107)
         b(k,36) = b(k,36) - lu(k,1527) * b(k,107)
         b(k,106) = b(k,106) * lu(k,1518)
         b(k,105) = b(k,105) - lu(k,1517) * b(k,106)
         b(k,104) = b(k,104) - lu(k,1516) * b(k,106)
         b(k,103) = b(k,103) - lu(k,1515) * b(k,106)
         b(k,102) = b(k,102) - lu(k,1514) * b(k,106)
         b(k,101) = b(k,101) - lu(k,1513) * b(k,106)
         b(k,100) = b(k,100) - lu(k,1512) * b(k,106)
         b(k,99) = b(k,99) - lu(k,1511) * b(k,106)
         b(k,98) = b(k,98) - lu(k,1510) * b(k,106)
         b(k,97) = b(k,97) - lu(k,1509) * b(k,106)
         b(k,96) = b(k,96) - lu(k,1508) * b(k,106)
         b(k,95) = b(k,95) - lu(k,1507) * b(k,106)
         b(k,94) = b(k,94) - lu(k,1506) * b(k,106)
         b(k,93) = b(k,93) - lu(k,1505) * b(k,106)
         b(k,92) = b(k,92) - lu(k,1504) * b(k,106)
         b(k,91) = b(k,91) - lu(k,1503) * b(k,106)
         b(k,90) = b(k,90) - lu(k,1502) * b(k,106)
         b(k,89) = b(k,89) - lu(k,1501) * b(k,106)
         b(k,88) = b(k,88) - lu(k,1500) * b(k,106)
         b(k,87) = b(k,87) - lu(k,1499) * b(k,106)
         b(k,86) = b(k,86) - lu(k,1498) * b(k,106)
         b(k,84) = b(k,84) - lu(k,1497) * b(k,106)
         b(k,83) = b(k,83) - lu(k,1496) * b(k,106)
         b(k,82) = b(k,82) - lu(k,1495) * b(k,106)
         b(k,81) = b(k,81) - lu(k,1494) * b(k,106)
         b(k,80) = b(k,80) - lu(k,1493) * b(k,106)
         b(k,75) = b(k,75) - lu(k,1492) * b(k,106)
         b(k,74) = b(k,74) - lu(k,1491) * b(k,106)
         b(k,73) = b(k,73) - lu(k,1490) * b(k,106)
         b(k,66) = b(k,66) - lu(k,1489) * b(k,106)
         b(k,65) = b(k,65) - lu(k,1488) * b(k,106)
         b(k,63) = b(k,63) - lu(k,1487) * b(k,106)
         b(k,50) = b(k,50) - lu(k,1486) * b(k,106)
         b(k,105) = b(k,105) * lu(k,1476)
         b(k,104) = b(k,104) - lu(k,1475) * b(k,105)
         b(k,103) = b(k,103) - lu(k,1474) * b(k,105)
         b(k,102) = b(k,102) - lu(k,1473) * b(k,105)
         b(k,101) = b(k,101) - lu(k,1472) * b(k,105)
         b(k,100) = b(k,100) - lu(k,1471) * b(k,105)
         b(k,99) = b(k,99) - lu(k,1470) * b(k,105)
         b(k,98) = b(k,98) - lu(k,1469) * b(k,105)
         b(k,97) = b(k,97) - lu(k,1468) * b(k,105)
         b(k,96) = b(k,96) - lu(k,1467) * b(k,105)
         b(k,95) = b(k,95) - lu(k,1466) * b(k,105)
         b(k,94) = b(k,94) - lu(k,1465) * b(k,105)
         b(k,93) = b(k,93) - lu(k,1464) * b(k,105)
         b(k,92) = b(k,92) - lu(k,1463) * b(k,105)
         b(k,91) = b(k,91) - lu(k,1462) * b(k,105)
         b(k,90) = b(k,90) - lu(k,1461) * b(k,105)
         b(k,89) = b(k,89) - lu(k,1460) * b(k,105)
         b(k,88) = b(k,88) - lu(k,1459) * b(k,105)
         b(k,87) = b(k,87) - lu(k,1458) * b(k,105)
         b(k,86) = b(k,86) - lu(k,1457) * b(k,105)
         b(k,85) = b(k,85) - lu(k,1456) * b(k,105)
         b(k,84) = b(k,84) - lu(k,1455) * b(k,105)
         b(k,83) = b(k,83) - lu(k,1454) * b(k,105)
         b(k,82) = b(k,82) - lu(k,1453) * b(k,105)
         b(k,77) = b(k,77) - lu(k,1452) * b(k,105)
         b(k,75) = b(k,75) - lu(k,1451) * b(k,105)
         b(k,66) = b(k,66) - lu(k,1450) * b(k,105)
         b(k,63) = b(k,63) - lu(k,1449) * b(k,105)
         b(k,62) = b(k,62) - lu(k,1448) * b(k,105)
         b(k,57) = b(k,57) - lu(k,1447) * b(k,105)
         b(k,46) = b(k,46) - lu(k,1446) * b(k,105)
         b(k,44) = b(k,44) - lu(k,1445) * b(k,105)
         b(k,24) = b(k,24) - lu(k,1444) * b(k,105)
         b(k,104) = b(k,104) * lu(k,1433)
         b(k,103) = b(k,103) - lu(k,1432) * b(k,104)
         b(k,102) = b(k,102) - lu(k,1431) * b(k,104)
         b(k,101) = b(k,101) - lu(k,1430) * b(k,104)
         b(k,100) = b(k,100) - lu(k,1429) * b(k,104)
         b(k,99) = b(k,99) - lu(k,1428) * b(k,104)
         b(k,98) = b(k,98) - lu(k,1427) * b(k,104)
         b(k,97) = b(k,97) - lu(k,1426) * b(k,104)
         b(k,96) = b(k,96) - lu(k,1425) * b(k,104)
         b(k,95) = b(k,95) - lu(k,1424) * b(k,104)
         b(k,94) = b(k,94) - lu(k,1423) * b(k,104)
         b(k,93) = b(k,93) - lu(k,1422) * b(k,104)
         b(k,92) = b(k,92) - lu(k,1421) * b(k,104)
         b(k,91) = b(k,91) - lu(k,1420) * b(k,104)
         b(k,90) = b(k,90) - lu(k,1419) * b(k,104)
         b(k,89) = b(k,89) - lu(k,1418) * b(k,104)
         b(k,88) = b(k,88) - lu(k,1417) * b(k,104)
         b(k,87) = b(k,87) - lu(k,1416) * b(k,104)
         b(k,86) = b(k,86) - lu(k,1415) * b(k,104)
         b(k,85) = b(k,85) - lu(k,1414) * b(k,104)
         b(k,84) = b(k,84) - lu(k,1413) * b(k,104)
         b(k,83) = b(k,83) - lu(k,1412) * b(k,104)
         b(k,82) = b(k,82) - lu(k,1411) * b(k,104)
         b(k,77) = b(k,77) - lu(k,1410) * b(k,104)
         b(k,75) = b(k,75) - lu(k,1409) * b(k,104)
         b(k,74) = b(k,74) - lu(k,1408) * b(k,104)
         b(k,70) = b(k,70) - lu(k,1407) * b(k,104)
         b(k,68) = b(k,68) - lu(k,1406) * b(k,104)
         b(k,65) = b(k,65) - lu(k,1405) * b(k,104)
         b(k,63) = b(k,63) - lu(k,1404) * b(k,104)
         b(k,62) = b(k,62) - lu(k,1403) * b(k,104)
         b(k,61) = b(k,61) - lu(k,1402) * b(k,104)
         b(k,60) = b(k,60) - lu(k,1401) * b(k,104)
         b(k,59) = b(k,59) - lu(k,1400) * b(k,104)
         b(k,58) = b(k,58) - lu(k,1399) * b(k,104)
         b(k,57) = b(k,57) - lu(k,1398) * b(k,104)
         b(k,56) = b(k,56) - lu(k,1397) * b(k,104)
         b(k,55) = b(k,55) - lu(k,1396) * b(k,104)
         b(k,54) = b(k,54) - lu(k,1395) * b(k,104)
         b(k,49) = b(k,49) - lu(k,1394) * b(k,104)
         b(k,47) = b(k,47) - lu(k,1393) * b(k,104)
         b(k,46) = b(k,46) - lu(k,1392) * b(k,104)
         b(k,45) = b(k,45) - lu(k,1391) * b(k,104)
         b(k,44) = b(k,44) - lu(k,1390) * b(k,104)
         b(k,43) = b(k,43) - lu(k,1389) * b(k,104)
         b(k,42) = b(k,42) - lu(k,1388) * b(k,104)
         b(k,38) = b(k,38) - lu(k,1387) * b(k,104)
         b(k,34) = b(k,34) - lu(k,1386) * b(k,104)
         b(k,28) = b(k,28) - lu(k,1385) * b(k,104)
      end do
      end subroutine lu_slv07
      subroutine lu_slv08( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,103) = b(k,103) * lu(k,1373)
         b(k,102) = b(k,102) - lu(k,1372) * b(k,103)
         b(k,101) = b(k,101) - lu(k,1371) * b(k,103)
         b(k,100) = b(k,100) - lu(k,1370) * b(k,103)
         b(k,99) = b(k,99) - lu(k,1369) * b(k,103)
         b(k,98) = b(k,98) - lu(k,1368) * b(k,103)
         b(k,97) = b(k,97) - lu(k,1367) * b(k,103)
         b(k,96) = b(k,96) - lu(k,1366) * b(k,103)
         b(k,95) = b(k,95) - lu(k,1365) * b(k,103)
         b(k,94) = b(k,94) - lu(k,1364) * b(k,103)
         b(k,93) = b(k,93) - lu(k,1363) * b(k,103)
         b(k,92) = b(k,92) - lu(k,1362) * b(k,103)
         b(k,91) = b(k,91) - lu(k,1361) * b(k,103)
         b(k,90) = b(k,90) - lu(k,1360) * b(k,103)
         b(k,89) = b(k,89) - lu(k,1359) * b(k,103)
         b(k,88) = b(k,88) - lu(k,1358) * b(k,103)
         b(k,87) = b(k,87) - lu(k,1357) * b(k,103)
         b(k,86) = b(k,86) - lu(k,1356) * b(k,103)
         b(k,85) = b(k,85) - lu(k,1355) * b(k,103)
         b(k,84) = b(k,84) - lu(k,1354) * b(k,103)
         b(k,81) = b(k,81) - lu(k,1353) * b(k,103)
         b(k,80) = b(k,80) - lu(k,1352) * b(k,103)
         b(k,79) = b(k,79) - lu(k,1351) * b(k,103)
         b(k,78) = b(k,78) - lu(k,1350) * b(k,103)
         b(k,76) = b(k,76) - lu(k,1349) * b(k,103)
         b(k,73) = b(k,73) - lu(k,1348) * b(k,103)
         b(k,72) = b(k,72) - lu(k,1347) * b(k,103)
         b(k,71) = b(k,71) - lu(k,1346) * b(k,103)
         b(k,69) = b(k,69) - lu(k,1345) * b(k,103)
         b(k,68) = b(k,68) - lu(k,1344) * b(k,103)
         b(k,67) = b(k,67) - lu(k,1343) * b(k,103)
         b(k,65) = b(k,65) - lu(k,1342) * b(k,103)
         b(k,52) = b(k,52) - lu(k,1341) * b(k,103)
         b(k,102) = b(k,102) * lu(k,1328)
         b(k,101) = b(k,101) - lu(k,1327) * b(k,102)
         b(k,100) = b(k,100) - lu(k,1326) * b(k,102)
         b(k,99) = b(k,99) - lu(k,1325) * b(k,102)
         b(k,98) = b(k,98) - lu(k,1324) * b(k,102)
         b(k,97) = b(k,97) - lu(k,1323) * b(k,102)
         b(k,96) = b(k,96) - lu(k,1322) * b(k,102)
         b(k,95) = b(k,95) - lu(k,1321) * b(k,102)
         b(k,94) = b(k,94) - lu(k,1320) * b(k,102)
         b(k,93) = b(k,93) - lu(k,1319) * b(k,102)
         b(k,92) = b(k,92) - lu(k,1318) * b(k,102)
         b(k,91) = b(k,91) - lu(k,1317) * b(k,102)
         b(k,90) = b(k,90) - lu(k,1316) * b(k,102)
         b(k,89) = b(k,89) - lu(k,1315) * b(k,102)
         b(k,88) = b(k,88) - lu(k,1314) * b(k,102)
         b(k,87) = b(k,87) - lu(k,1313) * b(k,102)
         b(k,86) = b(k,86) - lu(k,1312) * b(k,102)
         b(k,85) = b(k,85) - lu(k,1311) * b(k,102)
         b(k,74) = b(k,74) - lu(k,1310) * b(k,102)
         b(k,68) = b(k,68) - lu(k,1309) * b(k,102)
         b(k,63) = b(k,63) - lu(k,1308) * b(k,102)
         b(k,59) = b(k,59) - lu(k,1307) * b(k,102)
         b(k,38) = b(k,38) - lu(k,1306) * b(k,102)
         b(k,101) = b(k,101) * lu(k,1292)
         b(k,100) = b(k,100) - lu(k,1291) * b(k,101)
         b(k,99) = b(k,99) - lu(k,1290) * b(k,101)
         b(k,98) = b(k,98) - lu(k,1289) * b(k,101)
         b(k,97) = b(k,97) - lu(k,1288) * b(k,101)
         b(k,96) = b(k,96) - lu(k,1287) * b(k,101)
         b(k,95) = b(k,95) - lu(k,1286) * b(k,101)
         b(k,94) = b(k,94) - lu(k,1285) * b(k,101)
         b(k,93) = b(k,93) - lu(k,1284) * b(k,101)
         b(k,92) = b(k,92) - lu(k,1283) * b(k,101)
         b(k,91) = b(k,91) - lu(k,1282) * b(k,101)
         b(k,90) = b(k,90) - lu(k,1281) * b(k,101)
         b(k,89) = b(k,89) - lu(k,1280) * b(k,101)
         b(k,88) = b(k,88) - lu(k,1279) * b(k,101)
         b(k,87) = b(k,87) - lu(k,1278) * b(k,101)
         b(k,86) = b(k,86) - lu(k,1277) * b(k,101)
         b(k,84) = b(k,84) - lu(k,1276) * b(k,101)
         b(k,83) = b(k,83) - lu(k,1275) * b(k,101)
         b(k,81) = b(k,81) - lu(k,1274) * b(k,101)
         b(k,78) = b(k,78) - lu(k,1273) * b(k,101)
         b(k,77) = b(k,77) - lu(k,1272) * b(k,101)
         b(k,76) = b(k,76) - lu(k,1271) * b(k,101)
         b(k,66) = b(k,66) - lu(k,1270) * b(k,101)
         b(k,53) = b(k,53) - lu(k,1269) * b(k,101)
         b(k,50) = b(k,50) - lu(k,1268) * b(k,101)
         b(k,26) = b(k,26) - lu(k,1267) * b(k,101)
         b(k,100) = b(k,100) * lu(k,1252)
         b(k,99) = b(k,99) - lu(k,1251) * b(k,100)
         b(k,98) = b(k,98) - lu(k,1250) * b(k,100)
         b(k,97) = b(k,97) - lu(k,1249) * b(k,100)
         b(k,96) = b(k,96) - lu(k,1248) * b(k,100)
         b(k,95) = b(k,95) - lu(k,1247) * b(k,100)
         b(k,94) = b(k,94) - lu(k,1246) * b(k,100)
         b(k,93) = b(k,93) - lu(k,1245) * b(k,100)
         b(k,92) = b(k,92) - lu(k,1244) * b(k,100)
         b(k,91) = b(k,91) - lu(k,1243) * b(k,100)
         b(k,90) = b(k,90) - lu(k,1242) * b(k,100)
         b(k,89) = b(k,89) - lu(k,1241) * b(k,100)
         b(k,88) = b(k,88) - lu(k,1240) * b(k,100)
         b(k,87) = b(k,87) - lu(k,1239) * b(k,100)
         b(k,86) = b(k,86) - lu(k,1238) * b(k,100)
         b(k,85) = b(k,85) - lu(k,1237) * b(k,100)
         b(k,84) = b(k,84) - lu(k,1236) * b(k,100)
         b(k,83) = b(k,83) - lu(k,1235) * b(k,100)
         b(k,82) = b(k,82) - lu(k,1234) * b(k,100)
         b(k,75) = b(k,75) - lu(k,1233) * b(k,100)
         b(k,74) = b(k,74) - lu(k,1232) * b(k,100)
         b(k,70) = b(k,70) - lu(k,1231) * b(k,100)
         b(k,68) = b(k,68) - lu(k,1230) * b(k,100)
         b(k,65) = b(k,65) - lu(k,1229) * b(k,100)
         b(k,61) = b(k,61) - lu(k,1228) * b(k,100)
         b(k,60) = b(k,60) - lu(k,1227) * b(k,100)
         b(k,59) = b(k,59) - lu(k,1226) * b(k,100)
         b(k,56) = b(k,56) - lu(k,1225) * b(k,100)
         b(k,55) = b(k,55) - lu(k,1224) * b(k,100)
         b(k,49) = b(k,49) - lu(k,1223) * b(k,100)
         b(k,47) = b(k,47) - lu(k,1222) * b(k,100)
         b(k,43) = b(k,43) - lu(k,1221) * b(k,100)
         b(k,42) = b(k,42) - lu(k,1220) * b(k,100)
         b(k,38) = b(k,38) - lu(k,1219) * b(k,100)
         b(k,28) = b(k,28) - lu(k,1218) * b(k,100)
         b(k,99) = b(k,99) * lu(k,1202)
         b(k,98) = b(k,98) - lu(k,1201) * b(k,99)
         b(k,97) = b(k,97) - lu(k,1200) * b(k,99)
         b(k,96) = b(k,96) - lu(k,1199) * b(k,99)
         b(k,95) = b(k,95) - lu(k,1198) * b(k,99)
         b(k,94) = b(k,94) - lu(k,1197) * b(k,99)
         b(k,93) = b(k,93) - lu(k,1196) * b(k,99)
         b(k,92) = b(k,92) - lu(k,1195) * b(k,99)
         b(k,91) = b(k,91) - lu(k,1194) * b(k,99)
         b(k,90) = b(k,90) - lu(k,1193) * b(k,99)
         b(k,89) = b(k,89) - lu(k,1192) * b(k,99)
         b(k,88) = b(k,88) - lu(k,1191) * b(k,99)
         b(k,87) = b(k,87) - lu(k,1190) * b(k,99)
         b(k,86) = b(k,86) - lu(k,1189) * b(k,99)
         b(k,85) = b(k,85) - lu(k,1188) * b(k,99)
         b(k,84) = b(k,84) - lu(k,1187) * b(k,99)
         b(k,83) = b(k,83) - lu(k,1186) * b(k,99)
         b(k,82) = b(k,82) - lu(k,1185) * b(k,99)
         b(k,75) = b(k,75) - lu(k,1184) * b(k,99)
         b(k,74) = b(k,74) - lu(k,1183) * b(k,99)
         b(k,70) = b(k,70) - lu(k,1182) * b(k,99)
         b(k,68) = b(k,68) - lu(k,1181) * b(k,99)
         b(k,60) = b(k,60) - lu(k,1180) * b(k,99)
         b(k,59) = b(k,59) - lu(k,1179) * b(k,99)
         b(k,49) = b(k,49) - lu(k,1178) * b(k,99)
         b(k,28) = b(k,28) - lu(k,1177) * b(k,99)
         b(k,98) = b(k,98) * lu(k,1160)
         b(k,97) = b(k,97) - lu(k,1159) * b(k,98)
         b(k,96) = b(k,96) - lu(k,1158) * b(k,98)
         b(k,95) = b(k,95) - lu(k,1157) * b(k,98)
         b(k,94) = b(k,94) - lu(k,1156) * b(k,98)
         b(k,93) = b(k,93) - lu(k,1155) * b(k,98)
         b(k,92) = b(k,92) - lu(k,1154) * b(k,98)
         b(k,91) = b(k,91) - lu(k,1153) * b(k,98)
         b(k,90) = b(k,90) - lu(k,1152) * b(k,98)
         b(k,89) = b(k,89) - lu(k,1151) * b(k,98)
         b(k,88) = b(k,88) - lu(k,1150) * b(k,98)
         b(k,87) = b(k,87) - lu(k,1149) * b(k,98)
         b(k,86) = b(k,86) - lu(k,1148) * b(k,98)
         b(k,85) = b(k,85) - lu(k,1147) * b(k,98)
         b(k,84) = b(k,84) - lu(k,1146) * b(k,98)
         b(k,83) = b(k,83) - lu(k,1145) * b(k,98)
         b(k,82) = b(k,82) - lu(k,1144) * b(k,98)
         b(k,78) = b(k,78) - lu(k,1143) * b(k,98)
         b(k,76) = b(k,76) - lu(k,1142) * b(k,98)
         b(k,75) = b(k,75) - lu(k,1141) * b(k,98)
         b(k,72) = b(k,72) - lu(k,1140) * b(k,98)
         b(k,71) = b(k,71) - lu(k,1139) * b(k,98)
         b(k,62) = b(k,62) - lu(k,1138) * b(k,98)
         b(k,57) = b(k,57) - lu(k,1137) * b(k,98)
         b(k,54) = b(k,54) - lu(k,1136) * b(k,98)
         b(k,50) = b(k,50) - lu(k,1135) * b(k,98)
         b(k,27) = b(k,27) - lu(k,1134) * b(k,98)
         b(k,24) = b(k,24) - lu(k,1133) * b(k,98)
         b(k,97) = b(k,97) * lu(k,1115)
         b(k,96) = b(k,96) - lu(k,1114) * b(k,97)
         b(k,95) = b(k,95) - lu(k,1113) * b(k,97)
         b(k,94) = b(k,94) - lu(k,1112) * b(k,97)
         b(k,93) = b(k,93) - lu(k,1111) * b(k,97)
         b(k,92) = b(k,92) - lu(k,1110) * b(k,97)
         b(k,91) = b(k,91) - lu(k,1109) * b(k,97)
         b(k,89) = b(k,89) - lu(k,1108) * b(k,97)
         b(k,88) = b(k,88) - lu(k,1107) * b(k,97)
         b(k,87) = b(k,87) - lu(k,1106) * b(k,97)
         b(k,84) = b(k,84) - lu(k,1105) * b(k,97)
         b(k,83) = b(k,83) - lu(k,1104) * b(k,97)
         b(k,82) = b(k,82) - lu(k,1103) * b(k,97)
         b(k,81) = b(k,81) - lu(k,1102) * b(k,97)
         b(k,79) = b(k,79) - lu(k,1101) * b(k,97)
         b(k,78) = b(k,78) - lu(k,1100) * b(k,97)
         b(k,75) = b(k,75) - lu(k,1099) * b(k,97)
         b(k,70) = b(k,70) - lu(k,1098) * b(k,97)
         b(k,64) = b(k,64) - lu(k,1097) * b(k,97)
         b(k,60) = b(k,60) - lu(k,1096) * b(k,97)
         b(k,44) = b(k,44) - lu(k,1095) * b(k,97)
         b(k,32) = b(k,32) - lu(k,1094) * b(k,97)
         b(k,96) = b(k,96) * lu(k,1075)
         b(k,95) = b(k,95) - lu(k,1074) * b(k,96)
         b(k,94) = b(k,94) - lu(k,1073) * b(k,96)
         b(k,93) = b(k,93) - lu(k,1072) * b(k,96)
         b(k,92) = b(k,92) - lu(k,1071) * b(k,96)
         b(k,91) = b(k,91) - lu(k,1070) * b(k,96)
         b(k,90) = b(k,90) - lu(k,1069) * b(k,96)
         b(k,89) = b(k,89) - lu(k,1068) * b(k,96)
         b(k,88) = b(k,88) - lu(k,1067) * b(k,96)
         b(k,87) = b(k,87) - lu(k,1066) * b(k,96)
         b(k,86) = b(k,86) - lu(k,1065) * b(k,96)
         b(k,85) = b(k,85) - lu(k,1064) * b(k,96)
         b(k,81) = b(k,81) - lu(k,1063) * b(k,96)
         b(k,80) = b(k,80) - lu(k,1062) * b(k,96)
         b(k,79) = b(k,79) - lu(k,1061) * b(k,96)
         b(k,78) = b(k,78) - lu(k,1060) * b(k,96)
         b(k,76) = b(k,76) - lu(k,1059) * b(k,96)
         b(k,73) = b(k,73) - lu(k,1058) * b(k,96)
         b(k,72) = b(k,72) - lu(k,1057) * b(k,96)
         b(k,71) = b(k,71) - lu(k,1056) * b(k,96)
         b(k,69) = b(k,69) - lu(k,1055) * b(k,96)
         b(k,67) = b(k,67) - lu(k,1054) * b(k,96)
         b(k,51) = b(k,51) - lu(k,1053) * b(k,96)
      end do
      end subroutine lu_slv08
      subroutine lu_slv09( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,95) = b(k,95) * lu(k,1033)
         b(k,94) = b(k,94) - lu(k,1032) * b(k,95)
         b(k,93) = b(k,93) - lu(k,1031) * b(k,95)
         b(k,92) = b(k,92) - lu(k,1030) * b(k,95)
         b(k,91) = b(k,91) - lu(k,1029) * b(k,95)
         b(k,90) = b(k,90) - lu(k,1028) * b(k,95)
         b(k,89) = b(k,89) - lu(k,1027) * b(k,95)
         b(k,88) = b(k,88) - lu(k,1026) * b(k,95)
         b(k,87) = b(k,87) - lu(k,1025) * b(k,95)
         b(k,86) = b(k,86) - lu(k,1024) * b(k,95)
         b(k,85) = b(k,85) - lu(k,1023) * b(k,95)
         b(k,81) = b(k,81) - lu(k,1022) * b(k,95)
         b(k,80) = b(k,80) - lu(k,1021) * b(k,95)
         b(k,79) = b(k,79) - lu(k,1020) * b(k,95)
         b(k,78) = b(k,78) - lu(k,1019) * b(k,95)
         b(k,76) = b(k,76) - lu(k,1018) * b(k,95)
         b(k,73) = b(k,73) - lu(k,1017) * b(k,95)
         b(k,72) = b(k,72) - lu(k,1016) * b(k,95)
         b(k,71) = b(k,71) - lu(k,1015) * b(k,95)
         b(k,69) = b(k,69) - lu(k,1014) * b(k,95)
         b(k,67) = b(k,67) - lu(k,1013) * b(k,95)
         b(k,51) = b(k,51) - lu(k,1012) * b(k,95)
         b(k,48) = b(k,48) - lu(k,1011) * b(k,95)
         b(k,94) = b(k,94) * lu(k,990)
         b(k,93) = b(k,93) - lu(k,989) * b(k,94)
         b(k,92) = b(k,92) - lu(k,988) * b(k,94)
         b(k,91) = b(k,91) - lu(k,987) * b(k,94)
         b(k,90) = b(k,90) - lu(k,986) * b(k,94)
         b(k,89) = b(k,89) - lu(k,985) * b(k,94)
         b(k,88) = b(k,88) - lu(k,984) * b(k,94)
         b(k,87) = b(k,87) - lu(k,983) * b(k,94)
         b(k,86) = b(k,86) - lu(k,982) * b(k,94)
         b(k,84) = b(k,84) - lu(k,981) * b(k,94)
         b(k,83) = b(k,83) - lu(k,980) * b(k,94)
         b(k,82) = b(k,82) - lu(k,979) * b(k,94)
         b(k,81) = b(k,81) - lu(k,978) * b(k,94)
         b(k,80) = b(k,80) - lu(k,977) * b(k,94)
         b(k,79) = b(k,79) - lu(k,976) * b(k,94)
         b(k,78) = b(k,78) - lu(k,975) * b(k,94)
         b(k,75) = b(k,75) - lu(k,974) * b(k,94)
         b(k,74) = b(k,74) - lu(k,973) * b(k,94)
         b(k,70) = b(k,70) - lu(k,972) * b(k,94)
         b(k,65) = b(k,65) - lu(k,971) * b(k,94)
         b(k,64) = b(k,64) - lu(k,970) * b(k,94)
         b(k,62) = b(k,62) - lu(k,969) * b(k,94)
         b(k,60) = b(k,60) - lu(k,968) * b(k,94)
         b(k,54) = b(k,54) - lu(k,967) * b(k,94)
         b(k,45) = b(k,45) - lu(k,966) * b(k,94)
         b(k,39) = b(k,39) - lu(k,965) * b(k,94)
         b(k,93) = b(k,93) * lu(k,943)
         b(k,92) = b(k,92) - lu(k,942) * b(k,93)
         b(k,91) = b(k,91) - lu(k,941) * b(k,93)
         b(k,90) = b(k,90) - lu(k,940) * b(k,93)
         b(k,89) = b(k,89) - lu(k,939) * b(k,93)
         b(k,88) = b(k,88) - lu(k,938) * b(k,93)
         b(k,87) = b(k,87) - lu(k,937) * b(k,93)
         b(k,86) = b(k,86) - lu(k,936) * b(k,93)
         b(k,85) = b(k,85) - lu(k,935) * b(k,93)
         b(k,81) = b(k,81) - lu(k,934) * b(k,93)
         b(k,80) = b(k,80) - lu(k,933) * b(k,93)
         b(k,79) = b(k,79) - lu(k,932) * b(k,93)
         b(k,78) = b(k,78) - lu(k,931) * b(k,93)
         b(k,76) = b(k,76) - lu(k,930) * b(k,93)
         b(k,73) = b(k,73) - lu(k,929) * b(k,93)
         b(k,72) = b(k,72) - lu(k,928) * b(k,93)
         b(k,71) = b(k,71) - lu(k,927) * b(k,93)
         b(k,69) = b(k,69) - lu(k,926) * b(k,93)
         b(k,67) = b(k,67) - lu(k,925) * b(k,93)
         b(k,50) = b(k,50) - lu(k,924) * b(k,93)
         b(k,37) = b(k,37) - lu(k,923) * b(k,93)
         b(k,92) = b(k,92) * lu(k,900)
         b(k,91) = b(k,91) - lu(k,899) * b(k,92)
         b(k,90) = b(k,90) - lu(k,898) * b(k,92)
         b(k,89) = b(k,89) - lu(k,897) * b(k,92)
         b(k,88) = b(k,88) - lu(k,896) * b(k,92)
         b(k,87) = b(k,87) - lu(k,895) * b(k,92)
         b(k,86) = b(k,86) - lu(k,894) * b(k,92)
         b(k,85) = b(k,85) - lu(k,893) * b(k,92)
         b(k,84) = b(k,84) - lu(k,892) * b(k,92)
         b(k,81) = b(k,81) - lu(k,891) * b(k,92)
         b(k,80) = b(k,80) - lu(k,890) * b(k,92)
         b(k,79) = b(k,79) - lu(k,889) * b(k,92)
         b(k,78) = b(k,78) - lu(k,888) * b(k,92)
         b(k,76) = b(k,76) - lu(k,887) * b(k,92)
         b(k,73) = b(k,73) - lu(k,886) * b(k,92)
         b(k,72) = b(k,72) - lu(k,885) * b(k,92)
         b(k,71) = b(k,71) - lu(k,884) * b(k,92)
         b(k,69) = b(k,69) - lu(k,883) * b(k,92)
         b(k,67) = b(k,67) - lu(k,882) * b(k,92)
         b(k,65) = b(k,65) - lu(k,881) * b(k,92)
         b(k,61) = b(k,61) - lu(k,880) * b(k,92)
         b(k,56) = b(k,56) - lu(k,879) * b(k,92)
         b(k,55) = b(k,55) - lu(k,878) * b(k,92)
         b(k,41) = b(k,41) - lu(k,877) * b(k,92)
         b(k,40) = b(k,40) - lu(k,876) * b(k,92)
         b(k,91) = b(k,91) * lu(k,852)
         b(k,89) = b(k,89) - lu(k,851) * b(k,91)
         b(k,87) = b(k,87) - lu(k,850) * b(k,91)
         b(k,86) = b(k,86) - lu(k,849) * b(k,91)
         b(k,73) = b(k,73) - lu(k,848) * b(k,91)
         b(k,50) = b(k,50) - lu(k,847) * b(k,91)
         b(k,90) = b(k,90) * lu(k,822)
         b(k,89) = b(k,89) - lu(k,821) * b(k,90)
         b(k,87) = b(k,87) - lu(k,820) * b(k,90)
         b(k,86) = b(k,86) - lu(k,819) * b(k,90)
         b(k,81) = b(k,81) - lu(k,818) * b(k,90)
         b(k,80) = b(k,80) - lu(k,817) * b(k,90)
         b(k,74) = b(k,74) - lu(k,816) * b(k,90)
         b(k,63) = b(k,63) - lu(k,815) * b(k,90)
         b(k,89) = b(k,89) * lu(k,794)
         b(k,88) = b(k,88) - lu(k,793) * b(k,89)
         b(k,84) = b(k,84) - lu(k,792) * b(k,89)
         b(k,83) = b(k,83) - lu(k,791) * b(k,89)
         b(k,82) = b(k,82) - lu(k,790) * b(k,89)
         b(k,77) = b(k,77) - lu(k,789) * b(k,89)
         b(k,75) = b(k,75) - lu(k,788) * b(k,89)
         b(k,70) = b(k,70) - lu(k,787) * b(k,89)
         b(k,66) = b(k,66) - lu(k,786) * b(k,89)
         b(k,65) = b(k,65) - lu(k,785) * b(k,89)
         b(k,62) = b(k,62) - lu(k,784) * b(k,89)
         b(k,60) = b(k,60) - lu(k,783) * b(k,89)
         b(k,58) = b(k,58) - lu(k,782) * b(k,89)
         b(k,57) = b(k,57) - lu(k,781) * b(k,89)
         b(k,53) = b(k,53) - lu(k,780) * b(k,89)
         b(k,51) = b(k,51) - lu(k,779) * b(k,89)
         b(k,50) = b(k,50) - lu(k,778) * b(k,89)
         b(k,49) = b(k,49) - lu(k,777) * b(k,89)
         b(k,46) = b(k,46) - lu(k,776) * b(k,89)
         b(k,44) = b(k,44) - lu(k,775) * b(k,89)
         b(k,39) = b(k,39) - lu(k,774) * b(k,89)
         b(k,35) = b(k,35) - lu(k,773) * b(k,89)
         b(k,34) = b(k,34) - lu(k,772) * b(k,89)
         b(k,32) = b(k,32) - lu(k,771) * b(k,89)
         b(k,29) = b(k,29) - lu(k,770) * b(k,89)
         b(k,25) = b(k,25) - lu(k,769) * b(k,89)
         b(k,23) = b(k,23) - lu(k,768) * b(k,89)
         b(k,88) = b(k,88) * lu(k,747)
         b(k,84) = b(k,84) - lu(k,746) * b(k,88)
         b(k,83) = b(k,83) - lu(k,745) * b(k,88)
         b(k,82) = b(k,82) - lu(k,744) * b(k,88)
         b(k,77) = b(k,77) - lu(k,743) * b(k,88)
         b(k,75) = b(k,75) - lu(k,742) * b(k,88)
         b(k,66) = b(k,66) - lu(k,741) * b(k,88)
         b(k,58) = b(k,58) - lu(k,740) * b(k,88)
         b(k,57) = b(k,57) - lu(k,739) * b(k,88)
         b(k,54) = b(k,54) - lu(k,738) * b(k,88)
         b(k,51) = b(k,51) - lu(k,737) * b(k,88)
         b(k,46) = b(k,46) - lu(k,736) * b(k,88)
         b(k,39) = b(k,39) - lu(k,735) * b(k,88)
         b(k,35) = b(k,35) - lu(k,734) * b(k,88)
         b(k,87) = b(k,87) * lu(k,713)
         b(k,86) = b(k,86) - lu(k,712) * b(k,87)
         b(k,81) = b(k,81) - lu(k,711) * b(k,87)
         b(k,78) = b(k,78) - lu(k,710) * b(k,87)
         b(k,76) = b(k,76) - lu(k,709) * b(k,87)
         b(k,86) = b(k,86) * lu(k,690)
         b(k,72) = b(k,72) - lu(k,689) * b(k,86)
         b(k,71) = b(k,71) - lu(k,688) * b(k,86)
         b(k,85) = b(k,85) * lu(k,660)
         b(k,74) = b(k,74) - lu(k,659) * b(k,85)
         b(k,63) = b(k,63) - lu(k,658) * b(k,85)
         b(k,84) = b(k,84) * lu(k,637)
         b(k,83) = b(k,83) - lu(k,636) * b(k,84)
         b(k,82) = b(k,82) - lu(k,635) * b(k,84)
         b(k,77) = b(k,77) - lu(k,634) * b(k,84)
         b(k,75) = b(k,75) - lu(k,633) * b(k,84)
         b(k,68) = b(k,68) - lu(k,632) * b(k,84)
         b(k,66) = b(k,66) - lu(k,631) * b(k,84)
         b(k,59) = b(k,59) - lu(k,630) * b(k,84)
         b(k,58) = b(k,58) - lu(k,629) * b(k,84)
         b(k,53) = b(k,53) - lu(k,628) * b(k,84)
         b(k,28) = b(k,28) - lu(k,627) * b(k,84)
         b(k,25) = b(k,25) - lu(k,626) * b(k,84)
         b(k,23) = b(k,23) - lu(k,625) * b(k,84)
         b(k,83) = b(k,83) * lu(k,606)
         b(k,82) = b(k,82) - lu(k,605) * b(k,83)
         b(k,77) = b(k,77) - lu(k,604) * b(k,83)
         b(k,75) = b(k,75) - lu(k,603) * b(k,83)
         b(k,58) = b(k,58) - lu(k,602) * b(k,83)
         b(k,44) = b(k,44) - lu(k,601) * b(k,83)
         b(k,82) = b(k,82) * lu(k,584)
         b(k,75) = b(k,75) - lu(k,583) * b(k,82)
         b(k,70) = b(k,70) - lu(k,582) * b(k,82)
         b(k,60) = b(k,60) - lu(k,581) * b(k,82)
         b(k,54) = b(k,54) - lu(k,580) * b(k,82)
         b(k,45) = b(k,45) - lu(k,579) * b(k,82)
         b(k,33) = b(k,33) - lu(k,578) * b(k,82)
         b(k,27) = b(k,27) - lu(k,577) * b(k,82)
         b(k,81) = b(k,81) * lu(k,560)
         b(k,79) = b(k,79) - lu(k,559) * b(k,81)
         b(k,78) = b(k,78) - lu(k,558) * b(k,81)
         b(k,64) = b(k,64) - lu(k,557) * b(k,81)
         b(k,80) = b(k,80) * lu(k,539)
         b(k,73) = b(k,73) - lu(k,538) * b(k,80)
         b(k,69) = b(k,69) - lu(k,537) * b(k,80)
         b(k,79) = b(k,79) * lu(k,519)
         b(k,78) = b(k,78) - lu(k,518) * b(k,79)
         b(k,64) = b(k,64) - lu(k,517) * b(k,79)
         b(k,78) = b(k,78) * lu(k,503)
         b(k,77) = b(k,77) * lu(k,484)
         b(k,66) = b(k,66) - lu(k,483) * b(k,77)
         b(k,53) = b(k,53) - lu(k,482) * b(k,77)
         b(k,26) = b(k,26) - lu(k,481) * b(k,77)
      end do
      end subroutine lu_slv09
      subroutine lu_slv10( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
      integer :: k
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
      do k = 1,avec_len
         b(k,76) = b(k,76) * lu(k,465)
         b(k,75) = b(k,75) * lu(k,454)
         b(k,58) = b(k,58) - lu(k,453) * b(k,75)
         b(k,44) = b(k,44) - lu(k,452) * b(k,75)
         b(k,74) = b(k,74) * lu(k,438)
         b(k,73) = b(k,73) * lu(k,424)
         b(k,72) = b(k,72) * lu(k,409)
         b(k,71) = b(k,71) - lu(k,408) * b(k,72)
         b(k,71) = b(k,71) * lu(k,393)
         b(k,70) = b(k,70) * lu(k,379)
         b(k,60) = b(k,60) - lu(k,378) * b(k,70)
         b(k,49) = b(k,49) - lu(k,377) * b(k,70)
         b(k,33) = b(k,33) - lu(k,376) * b(k,70)
         b(k,69) = b(k,69) * lu(k,362)
         b(k,68) = b(k,68) * lu(k,350)
         b(k,59) = b(k,59) - lu(k,349) * b(k,68)
         b(k,52) = b(k,52) - lu(k,348) * b(k,68)
         b(k,67) = b(k,67) * lu(k,335)
         b(k,66) = b(k,66) * lu(k,324)
         b(k,35) = b(k,35) - lu(k,323) * b(k,66)
         b(k,65) = b(k,65) * lu(k,311)
         b(k,61) = b(k,61) - lu(k,310) * b(k,65)
         b(k,56) = b(k,56) - lu(k,309) * b(k,65)
         b(k,64) = b(k,64) * lu(k,297)
         b(k,31) = b(k,31) - lu(k,296) * b(k,64)
         b(k,30) = b(k,30) - lu(k,295) * b(k,64)
         b(k,63) = b(k,63) * lu(k,287)
         b(k,62) = b(k,62) * lu(k,277)
         b(k,57) = b(k,57) - lu(k,276) * b(k,62)
         b(k,24) = b(k,24) - lu(k,275) * b(k,62)
         b(k,61) = b(k,61) * lu(k,264)
         b(k,56) = b(k,56) - lu(k,263) * b(k,61)
         b(k,55) = b(k,55) - lu(k,262) * b(k,61)
         b(k,44) = b(k,44) - lu(k,261) * b(k,61)
         b(k,60) = b(k,60) * lu(k,255)
         b(k,29) = b(k,29) - lu(k,254) * b(k,60)
         b(k,59) = b(k,59) * lu(k,246)
         b(k,58) = b(k,58) * lu(k,238)
         b(k,57) = b(k,57) * lu(k,231)
         b(k,24) = b(k,24) - lu(k,230) * b(k,57)
         b(k,56) = b(k,56) * lu(k,223)
         b(k,55) = b(k,55) * lu(k,215)
         b(k,54) = b(k,54) * lu(k,207)
         b(k,27) = b(k,27) - lu(k,206) * b(k,54)
         b(k,53) = b(k,53) * lu(k,198)
         b(k,26) = b(k,26) - lu(k,197) * b(k,53)
         b(k,52) = b(k,52) * lu(k,189)
         b(k,51) = b(k,51) - lu(k,188) * b(k,52)
         b(k,48) = b(k,48) - lu(k,187) * b(k,52)
         b(k,36) = b(k,36) - lu(k,186) * b(k,52)
         b(k,51) = b(k,51) * lu(k,181)
         b(k,48) = b(k,48) - lu(k,180) * b(k,51)
         b(k,50) = b(k,50) * lu(k,175)
         b(k,49) = b(k,49) * lu(k,168)
         b(k,48) = b(k,48) * lu(k,162)
         b(k,47) = b(k,47) * lu(k,153)
         b(k,46) = b(k,46) * lu(k,146)
         b(k,45) = b(k,45) * lu(k,138)
         b(k,44) = b(k,44) * lu(k,134)
         b(k,43) = b(k,43) * lu(k,128)
         b(k,42) = b(k,42) * lu(k,121)
         b(k,41) = b(k,41) * lu(k,115)
         b(k,40) = b(k,40) * lu(k,108)
         b(k,39) = b(k,39) * lu(k,101)
         b(k,38) = b(k,38) * lu(k,95)
         b(k,37) = b(k,37) * lu(k,89)
         b(k,36) = b(k,36) * lu(k,83)
         b(k,35) = b(k,35) * lu(k,77)
         b(k,34) = b(k,34) * lu(k,69)
         b(k,33) = b(k,33) * lu(k,64)
         b(k,32) = b(k,32) * lu(k,58)
         b(k,31) = b(k,31) * lu(k,54)
         b(k,30) = b(k,30) * lu(k,50)
         b(k,29) = b(k,29) * lu(k,46)
         b(k,22) = b(k,22) - lu(k,45) * b(k,29)
         b(k,28) = b(k,28) * lu(k,42)
         b(k,27) = b(k,27) * lu(k,39)
         b(k,26) = b(k,26) * lu(k,36)
         b(k,25) = b(k,25) * lu(k,32)
         b(k,24) = b(k,24) * lu(k,30)
         b(k,23) = b(k,23) * lu(k,27)
         b(k,22) = b(k,22) * lu(k,24)
         b(k,21) = b(k,21) * lu(k,21)
         b(k,20) = b(k,20) * lu(k,20)
         b(k,19) = b(k,19) * lu(k,19)
         b(k,18) = b(k,18) * lu(k,18)
         b(k,17) = b(k,17) * lu(k,17)
         b(k,16) = b(k,16) * lu(k,16)
         b(k,15) = b(k,15) * lu(k,15)
         b(k,14) = b(k,14) * lu(k,14)
         b(k,13) = b(k,13) * lu(k,13)
         b(k,12) = b(k,12) * lu(k,12)
         b(k,11) = b(k,11) * lu(k,11)
         b(k,10) = b(k,10) * lu(k,10)
         b(k,9) = b(k,9) * lu(k,9)
         b(k,8) = b(k,8) * lu(k,8)
         b(k,7) = b(k,7) * lu(k,7)
         b(k,6) = b(k,6) * lu(k,6)
         b(k,5) = b(k,5) * lu(k,5)
         b(k,4) = b(k,4) * lu(k,4)
         b(k,3) = b(k,3) * lu(k,3)
         b(k,2) = b(k,2) * lu(k,2)
         b(k,1) = b(k,1) * lu(k,1)
      end do
      end subroutine lu_slv10
      subroutine lu_slv( avec_len, lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      use chem_mods, only : clscnt4, nzcnt
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      real(r8), intent(inout) :: b(veclen,clscnt4)
      call lu_slv01( avec_len, lu, b )
      call lu_slv02( avec_len, lu, b )
      call lu_slv03( avec_len, lu, b )
      call lu_slv04( avec_len, lu, b )
      call lu_slv05( avec_len, lu, b )
      call lu_slv06( avec_len, lu, b )
      call lu_slv07( avec_len, lu, b )
      call lu_slv08( avec_len, lu, b )
      call lu_slv09( avec_len, lu, b )
      call lu_slv10( avec_len, lu, b )
      end subroutine lu_slv
      end module mo_lu_solve
